--- title: Lab11: Build RTOS for ARM toc: no ... 預期目標 ------- - 學習 ARM 系統開發 - 實作 RTOS 的基礎特徵: priority-based schedule 與 message queue 自 Git repository 取得程式碼 ------------------------------- - 請參照 [Lab-10](/embedded/Lab10) 得知 Git 使用方式 - 取得最新的作業及參考內容 .. code-block:: prettyprint git fetch labs git rebase labs/master - 將過程所需要的檔案透過 ``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 平台 .. 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) 相同 * 提示 * 可參考 FreeRTOS 的原始程式碼,參照 TCB 與其對應的 stack 繳交作業 ------------ * 截止日期: * 成大/中正: Apr 8, 2013 (含) 之前