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