關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 從μC/OS―II到μC/OS―III的各種改進

從μC/OS―II到μC/OS―III的各種改進

作者: 時間:2012-12-24 來源:網絡 收藏

摘要:相比;;;;I做了很多改進,比如任務調度策略、時間節(jié)拍管理等,不僅消除了;;中的一些局限,而且增加了一些全新的功能。本文首先介紹了μC/OS—II的特點與局限,然后介紹了μC/OS—所做的各種改進。
關鍵詞:μC/OS—II;μC/OS—

引言
μC/OS系列內核都是源代碼開放的、可移植、可固化、可裁剪的搶占式實時多任務內核。μC/OS誕生于1992年,是針對68HC11 CPU開發(fā)的。μC/OS—II V2.0誕生于1998年,μC/OS—II V2.52誕生于2002年。針對這3個版本的,Jean J.Labrosse先生出版了3書,分別為《μC/OS The Real—Time Kernel》、《Micro C/OS—II The Real—Time kernel》和《Micro C/OS—II TheReal—Time kernel(Second Edition)》。其中,第2本和第3本書都有對應的中文譯著,第3本書比第2本書增加了約250頁新內容。μC/OS—誕生于2009年,于2011年8月公開源碼?!?mu;C/OS—III The Real Time Kernel》--書分為兩大部分:第1部分是對μC/OS—III硬件無關軟件的描述;第2部分講述μC/OS—III在不同型號的ARMCortex—M3/4單片機評估板上應用的范例。第1部分相同,第2部分對應不同硬件,目前已經組合出版了6本書,分別對應如下:
◆Freescale公司的以Kinetis53單片機為核心,面向醫(yī)療儀器類應用的TWR—K53N512評估板;
◆NXP公司的以LPCI768(Cortex—M3核)為核心的評估板;
◆Renesas公司的以RX62N為核心的評估板;
◆Renesas公司的以帶以太網口的SH7216為核心的評估板;
◆ST公司的以STM32F107為核心的評估板;
◆TI公司的以LM3S9892為核心,面向小型機器人帶以太網口的VM—EVALBOT評估板。
μC/OS—III是針對32位CPU開發(fā)的,相比μC/OS—II做了很多改動。下面將詳細介紹μC/OS—II中的一些可以改進的地方以及μC/OS—III中的一些新特性。

1 μC/OS—Il的特點與局限
μC/OS—II主要針對8/16位CPU開發(fā),是一個搶占式的實時多任務內核。任務調度策略是基于任務的優(yōu)先級,總是運行處于就緒態(tài)的優(yōu)先級最高的任務。在μC/OS—II中,每個任務都有一個唯一的優(yōu)先級。μC/OS—IIV2.8之前的版本最多支持64個優(yōu)先級,從V2.8開始最
多可支持255個優(yōu)先級。
μC/OS—II的核心是任務調度算法。任務調度算法的目標就是快速找出其中優(yōu)先級最高的處于就緒態(tài)的任務。為了做到這一點,μC/OS —II巧妙地采用了查表法。在查表過程中,μC/OS—II需要快速找出1個8位數的第一個非零位的位置,這是通過1個由256個元素構成的查找表OSUnMapTb1[]實現的,該查找表記錄了每一個8位數的第一個非零位的位置。通過這種巧妙的查表算法,不論有多少個任務處于就緒態(tài),都能在很短的、確定的時間內找出其中優(yōu)先級最高的那個就緒任務。
如今,很多新的CPU都有一條計算前導零指令(CLZ)或功能類似的指令,比如32位PowerPC處理器的CLZ指令、Freescale S12X雙核微控制器中的協(xié)處理器XGATE的Bit Field Find First One指令等。對于有這類硬件指令的CPU,無需再使用μC/OS—II中的查表算法,可以利用這類指令優(yōu)化任務調度算法。
實時系統(tǒng)有2類:軟實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)中,各任務運行得越快越好,并不限定某一任務必須在多長時間內完成。硬實時系統(tǒng)要求系統(tǒng)中的任何函數都有確定的執(zhí)行周期數,任務運行必須準時,執(zhí)行時間不因任務多少而改變。大多數實時系統(tǒng)是二者的結合。μC /OS—II中僅有一處不滿足硬實時條件:OSTimeTiek()函數需要遍歷所有任務控制塊,執(zhí)行時間受任務數目的影響,而該函數由時鐘節(jié)拍中斷服務程序調用,因此時鐘節(jié)拍中斷服務程序的執(zhí)行時間也受任務多少影響。通過把這部分工作放到一個專門的系統(tǒng)級任務中去做,便可以解決這個問題,使其成為一個滿足硬實時條件的RTOS。對于Freeseale公司的雙核微控制器S12X,還可以通過把時鐘節(jié)拍中斷的處理交給協(xié)處理器來完成,從而實現硬實時條件,提高RTOS的實時性。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉