久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式實時操作系統μC/OS-Ⅱ的移植實例

嵌入式實時操作系統μC/OS-Ⅱ的移植實例

作者: 時間:2012-04-05 來源:網絡 收藏

3.2 修改OS_CPU_C.C文件
3.2.1 任務堆棧初始化
修改OSTaskStkInit()函數,OSTaskStkInit()由任務創建函數OSTaskCreate()或OSTaskCreateExT()調用,用來初始化任務的堆棧。OS Task StkInit()與調用它的函數由3個參數進行傳遞:任務代碼起始地址(task),參數指針(p_arg),任務堆棧頂地址(ptos)。
e.JPG
后5個函數為鉤子函數,如無特殊需求可以不加代碼。
3.2.2 中斷級任務切換函數
OSIntCtxSw()函數通過設置一個全局變量OSIntCtxSwFlag標志以表示在中斷服務程序中進行任務切換,并在OSTickISR()中判斷該變量以進行正確的動作。
f.JPG
3.3 修改OS_CPU_A.ASM文件
在此文件中需改寫4個函數:OSStartHighRdy(),OSCtxSw(),OSIntCtxSw()和OSTickISR()。
3.3.1 OSStartHighRdy()函數
該函數由OSStart()調用,功能是運行優先級最高的就緒任務,其代碼如下:
g.JPG
h.JPG
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


評論


相關推薦

技術專區

關閉