版本 c9febcede39d26fd050926fdca6f6ca151cf47bb
Changes from c9febcede39d26fd050926fdca6f6ca151cf47bb to current
---
title: Lab14: OS and BSP Porting
toc: no
...
預期目標
-------
- 移植作業系統核心
- 學習 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</embedded/Lab11>`_ 相同
- 預期的執行行為應該與 [Lab-11](/embedded/Lab11) 相同
- 可使用原有 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 (含) 之前
- 寄件到 <jserv.tw@gmail.com>
- 標題:
* 成大: "[NCKU/Lab14]" 開頭,後面加學號與姓名
* 中正: "[CCU/Lab14]" 開頭,後面加學號與姓名
* 格式不合者,不計分!
- 信件內應該指出 Git repository 並簡述修改的想法與過程