μC/OS-Ⅱ的移植
生活随笔
收集整理的這篇文章主要介紹了
μC/OS-Ⅱ的移植
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
μC/OS-Ⅱ的大部分代碼是用ANSIC寫成的,在對μC/OS-Ⅱ進行移植到不同處理器平臺時,需要解決的主要問題有:數據類型的重定義、堆棧結構的設計和任務切換時的狀態保存與恢復。在μC/OS-Ⅱ移植過程中涉及以上三個問題的代碼都有包含在文件OS_CPU.H、OS_CPU_C.C、OS_CPU_A.S中。下面以μC /OS-Ⅱ在LPC2104上的移植為例進行探討,介紹移植過程中的主要步驟和需要修改的部分。
OS_CPU.H
主要包括了數據類型、堆棧單位、堆棧增長方向、關中斷和開中斷的宏以及進行任務切換的等宏定義。
OS_CPU_C.C
在OS_CPU_C.C文件中需要用C語言編寫6個與操作系統相關的函數:
OSTaskStklnit();
OSSTaskCreateHook();
OSTaskDelHook();
OSTaskSwHook();
OSTaskStatHook();
OSTimeTickHook()。
其中OSTaskStkInit()務堆棧初始化函數,后5個函數稱為功能擴展函數。
OS_CPU_A.S
這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫,在該文件中用ARM指令編寫了和3個與處理器相關的函數:
OSStartHighRdy()最高優先級任務調用函數;
OSCtxsw()任務切換函數;
OSIntCtxSw()中斷任務切換函數
總結
以上是生活随笔為你收集整理的μC/OS-Ⅱ的移植的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2月27日发布!荣耀Magic5已三证齐
- 下一篇: uCOS-II中的OS_CPU.h,OS