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

Lab14: OS and BSP Porting

預期目標

  • 移植作業系統核心
  • 學習 ARM 系統程式開發

ARM Information

  • ARM GCC Inline Assembler Cookbook
    • http://www.ethernut.de/en/documents/arm-inline-asm.html
  • ARM “Cortex-M3 Technical Reference Manual”
    • http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337i
  • ARMv7-M Architecture Reference Manual
    • http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0403c

作業要求

  • 修改 Lab-14/rtenv 目錄底下的檔案,使 kernel.c 為主體的簡易作業系統,得以在 STM32F10x 環境運作
    • 預期的執行行為應該與 Lab-11 相同
    • 可使用原有 FreeRTOS 在 STM32/ARM_CM3 平台的原始程式碼
  • 檢查項目:
    • system call: fork(), getpid(), read(), write()
    • FIFO / ring buffer
  • 將 kernel.c 原本的 memcpy(), strcmp(), strlen() 改為 inline assembly 撰寫,並善用 ARM condition code

繳交作業

  • 截止日期:
    • 成大/中正: Apr 29, 2013 (含) 之前
  • 寄件到
    • 標題:
      • 成大: “[NCKU/Lab14]” 開頭,後面加學號與姓名
      • 中正: “[CCU/Lab14]” 開頭,後面加學號與姓名
      • 格式不合者,不計分!
  • 信件內應該指出 Git repository 並簡述修改的想法與過程