分享到plurk 分享到twitter 分享到facebook

版本 87d9169af42e309524cde296fbe2803e97cbc1de

embedded/Lab3

Changes from 87d9169af42e309524cde296fbe2803e97cbc1de to 30120e474df9ca7b6f7ca1a25c405360d58d3146

---
title: Lab3: GNU Toolchain and RTOS
toc: no
...

預期目標
-------
- 學習 GNU Toolchain 的使用
- 在 QEMU 模擬的 STM32 環境中,嘗試執行 `FreeRTOS<http://www.freertos.org/>`_ 並且學習相關的操作
- 對 RTOS 內部運作進行視覺化,以銜接未來的硬體操作


GTKWave
--------------
- `GTKWave<http://gtkwave.sourceforge.net/>`_: 強大的 wave viewer
- 在 Ubuntu Linux 的安裝與操作

.. code-block:: prettyprint

    sudo apt-get install gtkwave
    cp -af /usr/share/doc/gtkwave/examples/ && cd examples
    vzt2vcd des.vzt > des.vcd
    gtkwave des.vcd

- 參考輸出畫面。記得要先選取左下方 Type / SIgnals 並以 Append 加入到分析的清單中

.. image:: http://www.gentoo.org/proj/en/science/electronics/tests/gtkwave.png

FreeRTOS for STM32
----------------------------------
- 仿造 `Lab-2</embedded/Lab2>`_ 操作,取得最新的 Lab2
- 狀況一:只是在課堂練習

.. code-block:: prettyprint

    git clone git://gitcafe.com/embedded2012/Labs.git
    cd Labs/Lab-3

- 狀況二:整合到 P-<username>,準備可提交作業的環境。以 `jserv</User/jserv>`_ 為例:

.. code-block:: prettyprint

    cd P-jserv
    git fetch labs
    git rebase labs/master
    cd Lab-3

- 取得最新的 QEMU-STM32,注意:與 `Lab-1</embedded/Lab1>`_ 的 QEMU 是不同版本
    ``git://gitcafe.com/embedded2012/qemu_stm32.git``

.. code-block:: prettyprint

作業 (A)
-------------

.. image:: /embedded/Lab3/gtkwave.png