新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 縮短μC/OS-II實(shí)時(shí)內(nèi)核中斷關(guān)閉時(shí)間的方法設(shè)計(jì)

縮短μC/OS-II實(shí)時(shí)內(nèi)核中斷關(guān)閉時(shí)間的方法設(shè)計(jì)

作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò) 收藏


2.5 信號(hào)量等待函數(shù)OSSemPend的修改

同理,這里以信號(hào)量等待函數(shù)OSSemPend為例來(lái)描述對(duì)不能在中斷中調(diào)用而又會(huì)對(duì)臨界區(qū)操作的函數(shù)的改進(jìn)。

信號(hào)量等待函數(shù)OSSemPend的偽代碼如下:

在這里,改動(dòng)后的函數(shù)先將系統(tǒng)狀態(tài)標(biāo)志置位,然后進(jìn)行原來(lái)函數(shù)的臨界區(qū)操作。需要說(shuō)明的是,對(duì)于函數(shù)因?yàn)榈却盘?hào)量時(shí)間到、還未獲取信號(hào)量而返回的情況的處理機(jī)制,改動(dòng)后的函數(shù)與原函數(shù)不同,改動(dòng)后的函數(shù)將OS_EventTO函數(shù)放到時(shí)間節(jié)拍函數(shù)OSTimeTick中執(zhí)行,并將OS_EventTO函數(shù)的輸入?yún)?shù)由原來(lái)的事件pevent指針,改為任務(wù)控制塊指針ptcb,因?yàn)樵诤瘮?shù)OSTimeTick中是按照任務(wù)控制塊指針操作的。

結(jié)語(yǔ)

上述方法已經(jīng)在筆者的一個(gè)電力微機(jī)繼電保護(hù)項(xiàng)目中成功運(yùn)用,該方面的實(shí)現(xiàn),提高了μC/OS-II的性能,擴(kuò)大了μC/OS-II的應(yīng)用范圍,使得單邊及工程師能更好的利用μC/OS-II提高嵌入式軟件編程水平。特別要說(shuō)明的是,雖然筆者是以μC/OS-II為例來(lái)介紹的,但該方法的原理可以運(yùn)用到其他上,筆者正在將該方法在上實(shí)現(xiàn)。從這個(gè)意義上講,該方法的提出也對(duì)那些致力于編寫(xiě)自己的的嵌入式軟件工程師具有借鑒意義。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉