新聞中心

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

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

        作者: 時間:2010-05-20 來源:網絡 收藏

          1.1 任務管理和時間管理

          任務管理和時間管理的設計框圖如圖1所示。

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

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

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

          當有更高優先級的任務進入就緒態時,就會產生RTA中斷。硬件實現上,當進入就緒態的上個時鐘周期的最高優先級和本時刻的最高優先級不同時,便產生中斷信號。在μC/OS-II中,每個TimeTick時刻都會發生中斷,這就需要更頻繁地保存CPU寄存器,相比本文提出的方法,浪費了更多的CPU時間。

          1.2 TimeTick信號的產生

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

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 禹州市| 健康| 化州市| 鹿泉市| 叶城县| 南通市| 宜章县| 额敏县| 石首市| 从江县| 金昌市| 大方县| 富源县| 万源市| 罗田县| 铜陵市| 卢龙县| 呼伦贝尔市| 东乌珠穆沁旗| 景德镇市| 合江县| 沭阳县| 临安市| 永寿县| 信阳市| 资讯 | 西吉县| 南陵县| 临夏市| 高安市| 山西省| 百色市| 乌恰县| 大安市| 安康市| 大港区| 江山市| 都昌县| 雅江县| 邻水| 温宿县|