關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > μC/OS―II實時操作系統(tǒng)中任務(wù)延時的研究與改進(jìn)

μC/OS―II實時操作系統(tǒng)中任務(wù)延時的研究與改進(jìn)

作者: 時間:2011-06-21 來源:網(wǎng)絡(luò) 收藏

f.JPG
對于刪除函數(shù)TCBDlyDel(),首先判斷控制塊中的值是否為0,如果不等于0,調(diào)用函數(shù)TCBDlyDel(ptcb,_Dly_ OPT_DEL),把任務(wù)從任務(wù)鏈表中刪除;如果等于0,把任務(wù)從任務(wù)鏈表中刪除。最后,把任務(wù)控制塊回收到空閑任務(wù)鏈表中。

3 實驗測試
3.1 測試環(huán)境
本次實驗使用軟件開發(fā)環(huán)境Keil4,把μC/OS—移植到基于Cortex—M3內(nèi)核的LPC1768處理器上。對μC/OS— 2.86進(jìn)行,并對后的進(jìn)行軟件仿真測試。
ARM Cortex—M3內(nèi)核采用3級流水線和哈佛結(jié)構(gòu),帶獨立的本地指令和數(shù)據(jù)總線以及用于外設(shè)的稍微低性能的第三條總線,還包含一個支持隨機跳轉(zhuǎn)的內(nèi)部預(yù)取指單元。LPC1700系列微控制器主要用于處理要求高度集成和低功耗的嵌入式應(yīng)用,最高工作頻率可達(dá)100 MHz。內(nèi)部有高達(dá)512 KB的Flash存儲器、64KB的數(shù)據(jù)存儲器,片內(nèi)外設(shè)包括以太網(wǎng)MAC、USB主機/從機/OTG接口、8通道的通用DMA控制器、4個UART、2條CAN通道、2個SSP控制器、SPI接口、3個I2C接口、2輸入和2輸出的I2S接口、8通道的12位ADC、10位DAC、電機控制PWM、正交編碼器接口、4個通用定時器、6輸出的通用PWM、帶獨立電池供電的超低功耗RTC等眾多功能,方便系統(tǒng)的開發(fā),節(jié)約成本。
本次測試為:在μC/OS—中創(chuàng)建25個用戶任務(wù),其中的10個任務(wù)一段時間(for循環(huán)延時),并發(fā)送信號量,已激活等待此信號量的任務(wù),而后調(diào)用函數(shù)OSTimeDly(),任務(wù)延時。而另外15個任務(wù)無限期等待另外幾個任務(wù)的信號量。Keil4的軟件仿真中,LPC1768的外部時鐘設(shè)定為22.1184 MHz。
3.2 實驗結(jié)果
下面通過Keil4軟件仿真中的Performance Analyzer功能,觀察μC/OS—II原操作系統(tǒng)與后的操作中函數(shù)OSTime Tick()的運行時間。性能測評圖如圖2、圖3所示。

本文引用地址:http://www.butianyuan.cn/article/161941.htm

g.JPG


可以看出,改進(jìn)后OSTimeTick()函數(shù)的系統(tǒng)占用率只有原先的50%,當(dāng)然在實際使用環(huán)境中,改進(jìn)后OSTimeTick()函數(shù)的系統(tǒng)占用率與系統(tǒng)中延時任務(wù)的多少、系統(tǒng)的運行速度等因素有關(guān),不可能降低這么多,至少從理論上與仿真測試中可以驗證此方法可以降低系統(tǒng)的額外開銷,提高系統(tǒng)的性。

結(jié)語
隨著技術(shù)的進(jìn)步,處理器芯片的內(nèi)存不斷增大,運行速度不斷提高,而且應(yīng)用系統(tǒng)設(shè)計越來越復(fù)雜,系統(tǒng)需要運行越來越多的任務(wù),時鐘節(jié)拍處理函數(shù)將占用大量的處理器時間,影響系統(tǒng)的性。通過本文對原操作系統(tǒng)中任務(wù)延時機制的改進(jìn)與優(yōu)化,使時鐘節(jié)拍處理函數(shù)的運行時間僅與同時延時的任務(wù)數(shù)有關(guān)。通過Keil4開發(fā)環(huán)境下的軟件仿真可以看出,改進(jìn)后系統(tǒng)開銷大大降低。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉