μC/OS―II實(shí)時(shí)操作系統(tǒng)中任務(wù)延時(shí)的研究與改進(jìn)
對于任務(wù)刪除函數(shù)OSTCBDlyDel(),首先判斷任務(wù)控制塊中的任務(wù)延時(shí)值是否為0,如果不等于0,調(diào)用函數(shù)OSTCBDlyDel(ptcb,OS_Dly_ OPT_DEL),把任務(wù)從任務(wù)延時(shí)鏈表中刪除;如果等于0,把任務(wù)從任務(wù)鏈表中刪除。最后,把任務(wù)控制塊回收到空閑任務(wù)鏈表中。
3 實(shí)驗(yàn)測試
3.1 測試環(huán)境
本次實(shí)驗(yàn)使用軟件開發(fā)環(huán)境Keil4,把μC/OS—II操作系統(tǒng)移植到基于Cortex—M3內(nèi)核的LPC1768處理器上。對實(shí)時(shí)操作系統(tǒng)μC/OS—II 2.86進(jìn)行改進(jìn),并對改進(jìn)后的操作系統(tǒng)進(jìn)行軟件仿真測試。
ARM Cortex—M3內(nèi)核采用3級流水線和哈佛結(jié)構(gòu),帶獨(dú)立的本地指令和數(shù)據(jù)總線以及用于外設(shè)的稍微低性能的第三條總線,還包含一個(gè)支持隨機(jī)跳轉(zhuǎn)的內(nèi)部預(yù)取指單元。LPC1700系列微控制器主要用于處理要求高度集成和低功耗的嵌入式應(yīng)用,最高工作頻率可達(dá)100 MHz。內(nèi)部有高達(dá)512 KB的Flash存儲(chǔ)器、64KB的數(shù)據(jù)存儲(chǔ)器,片內(nèi)外設(shè)包括以太網(wǎng)MAC、USB主機(jī)/從機(jī)/OTG接口、8通道的通用DMA控制器、4個(gè)UART、2條CAN通道、2個(gè)SSP控制器、SPI接口、3個(gè)I2C接口、2輸入和2輸出的I2S接口、8通道的12位ADC、10位DAC、電機(jī)控制PWM、正交編碼器接口、4個(gè)通用定時(shí)器、6輸出的通用PWM、帶獨(dú)立電池供電的超低功耗RTC等眾多功能,方便系統(tǒng)的開發(fā),節(jié)約成本。
本次測試為:在μC/OS—II中創(chuàng)建25個(gè)用戶任務(wù),其中的10個(gè)任務(wù)延時(shí)一段時(shí)間(for循環(huán)延時(shí)),并發(fā)送信號量,已激活等待此信號量的任務(wù),而后調(diào)用函數(shù)OSTimeDly(),任務(wù)延時(shí)。而另外15個(gè)任務(wù)無限期等待另外幾個(gè)任務(wù)的信號量。Keil4的軟件仿真中,LPC1768的外部時(shí)鐘設(shè)定為22.1184 MHz。
3.2 實(shí)驗(yàn)結(jié)果
下面通過Keil4軟件仿真中的Performance Analyzer功能,觀察μC/OS—II原操作系統(tǒng)與改進(jìn)后的操作中函數(shù)OSTime Tick()的運(yùn)行時(shí)間。性能測評圖如圖2、圖3所示。本文引用地址:http://m.butianyuan.cn/article/161941.htm
可以看出,改進(jìn)后OSTimeTick()函數(shù)的系統(tǒng)占用率只有原先的50%,當(dāng)然在實(shí)際使用環(huán)境中,改進(jìn)后OSTimeTick()函數(shù)的系統(tǒng)占用率與系統(tǒng)中延時(shí)任務(wù)的多少、系統(tǒng)的運(yùn)行速度等因素有關(guān),不可能降低這么多,至少從理論上與仿真測試中可以驗(yàn)證此方法可以降低系統(tǒng)的額外開銷,提高系統(tǒng)的實(shí)時(shí)性。
結(jié)語
隨著技術(shù)的進(jìn)步,處理器芯片的內(nèi)存不斷增大,運(yùn)行速度不斷提高,而且應(yīng)用系統(tǒng)設(shè)計(jì)越來越復(fù)雜,系統(tǒng)需要運(yùn)行越來越多的任務(wù),時(shí)鐘節(jié)拍處理函數(shù)將占用大量的處理器時(shí)間,影響系統(tǒng)的實(shí)時(shí)性。通過本文對原操作系統(tǒng)中任務(wù)延時(shí)機(jī)制的改進(jìn)與優(yōu)化,使時(shí)鐘節(jié)拍處理函數(shù)的運(yùn)行時(shí)間僅與同時(shí)延時(shí)的任務(wù)數(shù)有關(guān)。通過Keil4開發(fā)環(huán)境下的軟件仿真可以看出,改進(jìn)后系統(tǒng)開銷大大降低。
評論