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