<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種實(shí)時(shí)操作系統RTOS的硬件加速設計

一種實(shí)時(shí)操作系統RTOS的硬件加速設計

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

  1.1 任務(wù)管理和時(shí)間管理

  任務(wù)管理和時(shí)間管理的設計框圖如圖1所示。

一種實(shí)時(shí)操作系統RTOS的硬件加速設計

  每個(gè)任務(wù)都有4個(gè)域:TaskValid、OSTCBStat、OSTCBDly和OSTCBStatPend。每個(gè)任務(wù)都有一個(gè)任務(wù)就緒標志TaskReady,RTA通過(guò)PrioBitmapToBinary模塊找到最高的優(yōu)先級并送給HighestPrio。在CPU響應外部中斷或者給調度器上鎖時(shí),可以通過(guò)OSIntNesting和OSLockNesting寄存器關(guān)閉RTA的中斷。

  μC/OS-II實(shí)時(shí)系統內核中,任務(wù)調度基于TimeTick完成,由于程序只能順序執行,任務(wù)的timedly域更新也是順序執行的,從而使得調度函數的執行時(shí)間與運行的任務(wù)數量有關(guān)。在RTA模塊中,基于TimeTick的調度機制并沒(méi)有改變,只是原型中順序執行的timedly更新,在硬件中可以同時(shí)執行。在使用RTA模塊的系統中,移去了軟件中的用于任務(wù)調度的數據結構,相應地在硬件中予以實(shí)現。

  當有更高優(yōu)先級的任務(wù)進(jìn)入就緒態(tài)時(shí),就會(huì )產(chǎn)生RTA中斷。硬件實(shí)現上,當進(jìn)入就緒態(tài)的上個(gè)時(shí)鐘周期的最高優(yōu)先級和本時(shí)刻的最高優(yōu)先級不同時(shí),便產(chǎn)生中斷信號。在μC/OS-II中,每個(gè)TimeTick時(shí)刻都會(huì )發(fā)生中斷,這就需要更頻繁地保存CPU寄存器,相比本文提出的方法,浪費了更多的CPU時(shí)間。

  1.2 TimeTick信號的產(chǎn)生

  RTA的運行需要一個(gè)可配置的Timer來(lái)為其產(chǎn)生TimeTick信號。在本文中,通過(guò)對OR1200進(jìn)行改造,利用其內部的Timer產(chǎn)生中斷信號作為RTA任務(wù)調度的標準時(shí)鐘節拍,而將RTA的中斷信號連接到原來(lái)Timer在CPU的接口處。這樣,CPU通過(guò)Wishbone總線(xiàn)可對Timer進(jìn)行讀寫(xiě),且RTA產(chǎn)生的中斷不會(huì )占用可編程中斷控制器PIC(Programmable Interrupt Controller)。改造后的框圖如圖2所示。

一種實(shí)時(shí)操作系統RTOS的硬件加速設計

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>