版本 b8e78c52b5f4575538e6df84cc1e1b6ccd4b813b
Changes from b8e78c52b5f4575538e6df84cc1e1b6ccd4b813b to current
---
title: Lab10: Git, FreeRTOS
toc: no
...
預期目標
-------
- 以 Git 管理與追蹤開發過程
- 引入自動評分機制
- 學習使用 FreeRTOS 進行系統開發,體驗 priority inversion
預先準備
-------
- 在本 wiki 註冊帳號
- 加入/訂閱位於 Google Groups 的 `embedded2013 郵件討論群組<https://groups.google.com/group/embedded2013>`_,以獲得討論資訊
- 在 `GitCafe<https://gitcafe.com>`_ 註冊帳號
- 加入/訂閱位於 Google Groups 的 [embedded2013 郵件討論群組](https://groups.google.com/group/embedded2013),以獲得討論資訊
- 在 [GitCafe](https://gitcafe.com) 註冊帳號
- 確認在 Account Settings 加入 SSH Key
- 可參考「`產生 SSH key 給 Bitbucket/Github 使用<http://nyllep.wordpress.com/2012/01/21/sshkey-for-bitbucket/>`_」一文
- 於 GitCafe 中的 SSH key 設定,可參閱「`GitCafe SSH key設定官方說明 <https://gitcafe.com/GitCafe/Help/blob/master/Setup_Git.md/>`_」
- 可參考「[產生 SSH key 給 Bitbucket/Github 使用](http://nyllep.wordpress.com/2012/01/21/sshkey-for-bitbucket/)」一文
- 於 GitCafe 中的 SSH key 設定,可參閱「[GitCafe SSH key設定官方說明 ](https://gitcafe.com/GitCafe/Help/blob/master/Setup_Git.md/)」
- 將註冊的帳號名稱,通知講師 <jserv.tw@gmail.com>,於 `Organization **embedded2013**<https://gitcafe.com/embedded2013>`_ 加入用於紀錄開發動態的 Git repository
- 範例: `P-jserv<https://gitcafe.com/embedded2013/P-jserv>`_,最好與 wiki 帳號名稱一致,以利於識別
- 將註冊的帳號名稱,通知講師 <jserv.tw@gmail.com>,
- 於 [Organization **embedded2013**](https://gitcafe.com/embedded2013) 加入用於紀錄開發動態的 Git repository
- 範例: [P-jserv](https://gitcafe.com/embedded2013/P-jserv),最好與 wiki 帳號名稱一致,以利於識別
- 點選 **SSH (Read+Write)** 可得到 git repository 的位址,如上例為
``git@gitcafe.com:embedded2013/P-jserv.git``
- 參閱 `Git 簡易操作</git>`_ 與 `寫給大家的 Git 教學<http://www.slideshare.net/littlebtc/git-5528339>`_
- 參閱 [Git 簡易操作](/git) 與 [寫給大家的 Git 教學](http://www.slideshare.net/littlebtc/git-5528339)
自本次開始所採用的 Git repository
-------------------------------
- 線上瀏覽
* https://gitcafe.com/embedded2013/Labs
- 已取得 `GitCafe<https://gitcafe.com>`_ Notification 告知 P-xxx 之 Git repository 後,即可著手進行開發。以 "`jserv</User/jserv>`_" 為例:(請替換成指定的帳號)
- 已取得 [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`` 確認整合伺服器端的修改
- 確認詳加閱讀「`寫給大家的 Git 教學<http://www.slideshare.net/littlebtc/git-5528339>`_」投影片以得知 Git 基本操作
- 確認詳加閱讀「[寫給大家的 Git 教學](http://www.slideshare.net/littlebtc/git-5528339)」投影片以得知 Git 基本操作
- 或,僅想測試 Labs 的操作 (適合在課堂 / 電腦教室的環境)
``git clone https://gitcafe.com/embedded2013/Labs.git``
FreeRTOS
----------------
- `FreeRTOS Tutorial<http://www.socialledge.com/sjsu/index.php?title=FreeRTOS_Tutorial>`_
- `CptS 466: Spring, 2013: Embedded Systems<http://eecs.wsu.edu/~aofallon/cpts466/schedule.htm>`_
- [FreeRTOS Tutorial](http://www.socialledge.com/sjsu/index.php?title=FreeRTOS_Tutorial)
- [CptS 466: Spring, 2013: Embedded Systems](http://eecs.wsu.edu/~aofallon/cpts466/schedule.htm)
作業要求
------------
* 適度修改 Lab-10/mtask 目錄底下的檔案,藉由 FreeRTOS 的 Semaphores 與 IPC 機制,模擬出 Mars Pathfinder 的 priority inversion 狀況
* 適度修改 Lab-10/mtask 目錄底下的檔案
* 藉由 FreeRTOS 的 Semaphores 與 IPC 機制,模擬出 Mars Pathfinder 的 priority inversion 狀況
* 程式碼需要提交到 Git
* 在信件中要提及 Git repository 與簡述修改
* 來信告知模擬的情況
* 來信告知在 FreeRTOS 模擬 Mars Pathfinder 的情況
繳交作業
------------
* 截止日期:
* 成大/中正: March 22, 2013 (含) 之前
* 寄件到 <jserv.tw@gmail.com>
* 標題: “[NCKU/Lab9]” 開頭,後面加學號與姓名
* 中正: 改為 “[CCU/Lab9]” 開頭
* 標題: “[NCKU/Lab10]” 開頭,後面加學號與姓名
* 中正: 改為 “[CCU/Lab10]” 開頭
* 格式不合者,不計分!
小提示
-----
- Ubuntu Linux 預設的文字編輯器為 nano,對許多習慣於 vi/vim 的使用者來說,較為不便,可透過以下指令選擇:
``sudo update-alternatives --config editor``
- 可安裝 ``tig``,一個輕便好用的 Git client 軟體