- 相關(guān)推薦
實時操作系統(tǒng)μC/OS-II在MCF5272上的移植
摘要:介紹了實時操作系統(tǒng)μC/OS-II的特點和內(nèi)核結(jié)構(gòu),并首次實現(xiàn)μC/OS-II在Motorola嵌入式處理器MCF5272上的移值。關(guān)鍵詞:μC/OS-II MCF5272 移植 GNU工具鏈
作為一個實時內(nèi)核,μC/OS從1992年開始為人們熟悉,到現(xiàn)在已經(jīng)發(fā)展為μC/OS-II。ΜC/OS-II最多支持56個任務(wù),其內(nèi)核為占先式,總是執(zhí)行就緒態(tài)的優(yōu)先級最高的任務(wù),并支持Semaphore(信號量)、Mailbox(郵箱)、Message Queue(消息隊列)等多種常用的進程間通信機制。與大多商用RTOS不同的是,μC/OS-II公開所有的源代碼,并可以免費獲得,對商業(yè)應(yīng)用收取少量License費用。一般商用操作系統(tǒng)如VxWorks、pSOS、WinCE,購買費用動輒數(shù)萬美元,而且每件產(chǎn)品都需要交納運行費,開發(fā)、使用成本高昂。
目前MCF5272是Motorola公司一款集成度最高的ColdFire處理器,采用ColdFire V2可變長RISC處理器核心和DigitalDNA技術(shù),在66MHz時鐘下能夠達(dá)到63Dhrystone2.1MIPS。其內(nèi)部SIM(System Integrated Module)單元集成了豐富的通用模塊,如10/100MHz快速以太網(wǎng)控制器,USB1.1接口等,并且能夠與常用的外圍設(shè)備(如SDRAM、ISDN收發(fā)器)實現(xiàn)無縫連接,從而簡化了外圍電路設(shè)計,降低了產(chǎn)品成本、體積和功耗。
使用GNU工具鏈(包括交叉編譯器GCC、匯編器AS等)進行μC/OS-II內(nèi)核的編譯,Host(宿主機)環(huán)境為16MB SDRAM。在宿主機上編譯出MCF5272處理器的可執(zhí)行代碼,通過MCF5272的BDM調(diào)試工具下載到目標(biāo)板調(diào)試運行。
1 μC/OS-II系統(tǒng)結(jié)構(gòu)
圖1說明了μC/OS-II的軟硬件體系結(jié)構(gòu)。應(yīng)用程序處于整個系統(tǒng)的頂層,每個任務(wù)都可以認(rèn)為自己獨占了CPU,因而可以設(shè)計成為一個無限循環(huán)。μC/OS-II處理器無關(guān)的代碼提供μC/OS-II的系統(tǒng)服務(wù),應(yīng)用程序可以使用這些API函數(shù)進行內(nèi)存管理、任務(wù)間通信以及創(chuàng)建、刪除任務(wù)等。
大部分的μC/OS-II代碼是使用ANSI C語言書寫的,因此μC/OS-II的可移植性較好。盡管如此,仍然需要使用C和匯編語言寫一些處理器相關(guān)的代碼。μC/OS-II的移植需要滿足以下要求:
(1)處理器的C編譯器可以產(chǎn)生可重入代碼;
(2)可以使用C調(diào)用進入和退出Critical Code(臨界區(qū)代碼);
(3)處理器必須支持硬件中斷,并且需要一個定時中斷源;
(4)處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧;
(5)處理器需要有能夠在CPU寄存器與內(nèi)存和堆棧交換數(shù)據(jù)的指令。
[1] [2] [3] [4] [5]
【實時操作系統(tǒng)μC/OS-II在MCF5272上的移植】相關(guān)文章:
基于嵌入式操作系統(tǒng)VxWorks的實時通訊的實現(xiàn)05-02
嵌入式實時操作系統(tǒng)VxWorks及其在地震勘探儀器中的應(yīng)用04-28
光學(xué)遙感圖像星上實時處理技術(shù)的研究04-26
移植04-29
單頻實時GPS軟件接收機導(dǎo)航解算的C++實現(xiàn)04-27
C(1-19)《月亮上的足跡》教案04-25
基于RX850實時操作系統(tǒng)的柴油機高壓共軌電控系統(tǒng)軟件開發(fā)04-27