μCOSII在基于Cortex-M3核的ARM處理器上的移植
該例中在調(diào)用OSStart后,操作系統(tǒng)發(fā)現(xiàn)任務(wù)Taskl的優(yōu)先級最高,于是操作系統(tǒng)就調(diào)度任務(wù)Taskl使其投入運行,而任務(wù)Task2暫時不能獲得處理器的使用權(quán)。任務(wù)Taskl首先點亮一個LED,然后延時一段時間,當(dāng)運行到OSTimeDly處時,該任務(wù)被掛起而處于等待狀態(tài),此時任務(wù)Task2成為優(yōu)先級最高的就緒態(tài)任務(wù),于是操作系統(tǒng)調(diào)度Task2運行。當(dāng)5個時鐘節(jié)拍的延時時間結(jié)束時,系統(tǒng)時間節(jié)拍中斷服務(wù)子程序會重新將任務(wù)Taskl置于就緒狀態(tài),此時任務(wù)Taskl再一次成為優(yōu)先級最高的就緒態(tài)任務(wù),于是操作系統(tǒng)保存任務(wù)Task2的狀態(tài),并恢復(fù)任務(wù)Taskl的狀態(tài)使其又一次獲得處理器的使用權(quán)。此后程序執(zhí)行過程將重復(fù)上述步驟??梢钥吹?,在這個例子中的現(xiàn)象是某個LED燈不停的閃爍。
μCOS―II操作系統(tǒng)內(nèi)核是實時可剝奪型的,這意味著在任務(wù)執(zhí)行過程中或中斷服務(wù)子程序中,一旦有一個新的更高優(yōu)先級的任務(wù)就緒,內(nèi)核將立刻調(diào)度此新任務(wù)運行,這說明響應(yīng)任務(wù)的時間是即刻的、確定的。
綜上所述,基于嵌入式操作系統(tǒng)的應(yīng)用程序開發(fā)過程相對于以往傳統(tǒng)應(yīng)用程序開發(fā)大為簡化而且任務(wù)級響應(yīng)時間也得到最優(yōu)化。本文引用地址:http://butianyuan.cn/article/152559.htm
4 結(jié)束語
通過將移植過程中修改的μCOS―II內(nèi)核代碼與上述例子中的應(yīng)用程序代碼在μVision3集成開發(fā)環(huán)境中編輯整合后進行編譯、鏈接并且下載到目標(biāo)硬件平臺進行長時間觀察,發(fā)現(xiàn)LED不停的閃爍,說明本移植過程是成功的。
評論