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

版本 cc3f56be8dcc5c4b1facc2e9b48d41a79dc1e69d

Lab11: Build RTOS for ARM

預期目標

  • 學習 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 fetchgit rebase),即可取得最新的作業及參考內容

  • 將過程所需要的檔案透過 git add 指令加入到工作區,接著透過 git push 來提交修改

    • 最好事先以 git pull 確認整合伺服器端的修改
  • 僅想測試 Labs 的操作 (適合在課堂 / 電腦教室的環境)

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

QEMU執行

  • 編譯給定的迷你作頁系統

.. code-block:: prettyprint

make
  • 安裝 QEMU ARM system emulation

.. code-block:: prettyprint

sudo apt-get install qemu-system-arm
  • 啟動 QEMU

.. code-block:: prettyprint

qemu-system-arm \
    -M versatilepb -cpu arm926 \
    -nographic \
    -kernel kernel.elf
  • 離開 QEMU 模擬環境: 先按下 Ctrl-A 再按下 x

作業要求

  • 適度修改 Lab-11/ 目錄,將原本單純的 ARM 多工作業系統改為支援以下:
    • priority-based scheduling
    • message queue
  • 預期執行時期的行為應該與 Lab-9</embedded/Lab9>_ 相同

繳交作業

  • 截止日期:
    • 成大/中正: Apr 8, 2013 (含) 之前