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

版本 7fb13e40ce79dfc21a32df67a24752dc26b53e25

embedded/Lab11

Changes from 7fb13e40ce79dfc21a32df67a24752dc26b53e25 to 0936f2e4bac4a32fe460c66e3165ebc2865c6cb4

---
title: Lab11: Build RTOS for ARM
toc: no
...

預期目標
-------
- 學習 ARM 系統開發

自本次開始所採用的 Git repository
-------------------------------
- 線上瀏覽
  * https://gitcafe.com/embedded2013/Labs

- 已取得 `GitCafe<https://gitcafe.com>`_ Notification 告知 P-xxx 之 Git repository 後,即可著手進行開發
- 以 "`jserv</User/jserv>`_" 為例:(請替換成指定的帳號)

.. code-block:: prettyprint

    git clone git@gitcafe.com:embedded2013/P-jserv.git
    cd P-jserv
    git remote add labs https://gitcafe.com/embedded2013/Labs.git
    git fetch labs
    git rebase labs/master

- 往後只要重複執行前項的後兩個指令 (``git fetch`` 與 ``git rebase``),即可取得最新的作業及參考內容
- 將過程所需要的檔案透過 ``git add`` 指令加入到工作區,接著透過 ``git push`` 來提交修改
  * 最好事先以 ``git pull`` 確認整合伺服器端的修改

- 僅想測試 Labs 的操作 (適合在課堂 / 電腦教室的環境)

    ``git clone https://gitcafe.com/embedded2013/Labs.git``

作業要求
------------
* 適度修改 Lab-10/mtask 目錄底下的檔案
* 藉由 FreeRTOS 的 Semaphores 與 IPC 機制,模擬出 Mars Pathfinder 的 priority inversion 狀況
* 程式碼需要提交到 Git
   * 在信件中要提及 Git repository 與簡述修改
* 適度修改 Lab-11/ 目錄,將原本單純的 ARM 多工作業系統改為支援以下:
   * priority-based scheduling
   * message queue

* 來信告知在 FreeRTOS 模擬 Mars Pathfinder 的情況
* 預期執行時期的行為應該與 `Lab-9</embedded/Lab9>`_ 相同

繳交作業
------------
* 截止日期:
  * 成大/中正: March 22, 2013 (含) 之前

* 寄件到 <jserv.tw@gmail.com>
  * 標題: “[NCKU/Lab10]” 開頭,後面加學號與姓名
    * 中正: 改為 “[CCU/Lab10]” 開頭

  * 格式不合者,不計分!
  * 成大/中正: Apr 8, 2013 (含) 之前