- 相關(guān)推薦
μC/OS-II在S3C44BOX處理器上的移植
摘要:介紹實(shí)時(shí)操作系統(tǒng)μC/OS-II的特點(diǎn)和內(nèi)核結(jié)構(gòu),給出μC/OS-II在Samsung嵌入式S3C44BOX ARM7微處理器上的移植的步驟及詳細(xì)相關(guān)代碼,同時(shí)闡述μC/OS-II在應(yīng)用中應(yīng)注意的問(wèn)題。關(guān)鍵詞:μC/OS-II S3C44BOX 移植 實(shí)時(shí)操作系統(tǒng)
μC/OS-II功能強(qiáng)大,支持56個(gè)用戶任務(wù),其內(nèi)核為占先式,支持信號(hào)量、郵箱、消息隊(duì)列等多種常用的進(jìn)程間通信機(jī)制,現(xiàn)已成功應(yīng)用到眾多商業(yè)嵌入式系統(tǒng)中,是一個(gè)成熟穩(wěn)定的實(shí)時(shí)內(nèi)核。與大多商用RTOS不同的是,μC/OS-II公開所有的源代碼,90%的代碼使用標(biāo)準(zhǔn)的ANSI C語(yǔ)言書寫,程序可讀性強(qiáng)、移植性好;同時(shí)它可免費(fèi)獲得,即使商業(yè)應(yīng)用也只收取少量的許可費(fèi)用。因此,對(duì)μC/OS-II實(shí)時(shí)操作系統(tǒng)的學(xué)習(xí)研究、開發(fā)、應(yīng)用具有重要意義。
Samsung S3C44B0X微處理器是三星公司專為手持設(shè)備和其它嵌入式應(yīng)用提供的高性價(jià)比的微控制器解決方案。它使用ARM公司的16位/32位RISC結(jié)構(gòu),內(nèi)核是ARM7TDMI,工作在66MHz,片上集成了以下部件:8K Cache、外部存儲(chǔ)器控制器、LCD控制器、4個(gè)DMA通道、2個(gè)UART、1個(gè)多主I2C總線控制器、1個(gè)I2C總線控制器,以及5通道PWM定時(shí)器和1個(gè)內(nèi)部定時(shí)器、8通道12位ADC等,能夠與常用的外圍設(shè)備實(shí)現(xiàn)無(wú)縫連接,功能強(qiáng)大。目前,國(guó)內(nèi)應(yīng)用較為廣泛。
1 μC/OS-II實(shí)時(shí)操作系統(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ǔ)言書寫的,因此μC/OS-II的可移植性好,然而仍需要使用C和匯編語(yǔ)言寫一些處理器相關(guān)代碼。μC/OS-II的移植需要滿足以下要求:
①處理器的C編譯器可以產(chǎn)生可重入代碼;
②可以使用C調(diào)用進(jìn)入和退出臨界區(qū)代碼;
③處理器必須支持硬件中斷,并且需要一個(gè)定時(shí)中斷源;
④ 處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧;
⑤處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧交換數(shù)據(jù)的指令。
S3C44B0X處理器完全滿足上述要求。
2 實(shí)時(shí)內(nèi)核μC/OS-II在S3C44B0X上的移植
[1] [2] [3] [4] [5] [6]
【μC/OS-II在S3C44BOX處理器上的移植】相關(guān)文章:
基于S3C44BOX的車輛防盜系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)04-27
移植04-29
C(1-19)《月亮上的足跡》教案04-25
記憶移植作文02-20
核移植與線粒體04-26
什么是處理器核心04-26
什么是處理器緩存04-26
什么是處理器緩存04-26
什么是處理器類型04-26