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