<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 實(shí)時(shí)操作系統C/OS-II在A(yíng)RM7上的移植

實(shí)時(shí)操作系統C/OS-II在A(yíng)RM7上的移植

作者: 時(shí)間:2012-12-04 來(lái)源:網(wǎng)絡(luò ) 收藏
  引言

  目前,嵌入式系統在家電、移動(dòng)電話(huà)、PDA等各種領(lǐng)域的應用日益廣泛,程序設計也越來(lái)越復雜,這就需要采用一個(gè)通用的嵌入式操作系統來(lái)對其進(jìn)行管理和控制。移植了操作系統的嵌入式系統開(kāi)發(fā),可大大減輕程序員的負擔,操作系統提供了多任務(wù)的管理功能,只需專(zhuān)注于每個(gè)任務(wù)的管理。對于不同的應用,可以按照相同的步驟完成系統設計。如果更換硬件平臺,則只需要對操作系統進(jìn)行少量的移植工作,與硬件無(wú)關(guān)的應用代碼完全無(wú)需修改,同時(shí),可增強代碼的可讀性、可維護性和可擴展性。

  μC/OS-II是一種專(zhuān)門(mén)為微處理器設計的搶占式實(shí)時(shí)多任務(wù)操作系統,具有源代碼公開(kāi)、可移植性和可靠性高等特點(diǎn)。由于μC/OS-II是為嵌入式應用編寫(xiě)的通用軟件,故在具體應用時(shí)需根據不同單片機的特點(diǎn)進(jìn)行移植,其大部分代碼是用標準C語(yǔ)言所寫(xiě),只有與處理器相關(guān)的一部分代碼用匯編語(yǔ)言編寫(xiě),因而具有很強的移植性,能在從8位到64位單片機以及DSP等超過(guò)40種不同構架的微處理器上實(shí)現運行。本文主要介紹μC/OS-II在Samsung公司的一款TDMI的嵌入式處理器S3C44B0X上移植應用。

  要實(shí)現μC/OS-II在S3C44B0X的構建、裁剪和移植,需要有S3C44B0X的編譯器,本文采用的是英蓓特公司推出的EmbestIDE for ARM編譯器。

  2 μC/OS-II在S3C44B0X上移植的可行性分析

  所謂移植,就是使一個(gè)實(shí)時(shí)內核能在某個(gè)微處理器或微控制器上運行。要使μC/OS-II能夠正常運行,處理器必須滿(mǎn)足以下幾個(gè)條件:

  (1)處理器的C編譯器能產(chǎn)生可重人代碼;

  (2)在程序中可以打開(kāi)或者關(guān)閉中斷;

  (3)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷(通常在l0~l000Hz之間);

  (4)處理器支持能夠容納一定量數據的硬件堆棧;

  (5)處理器有將堆棧指針和其他CPU寄存器存儲和讀出到堆棧(或者內存)的指令。Samsung公司的S3C44BOX處理器能夠滿(mǎn)足以上的要求,所以可以將μC/OS-II移植到S3C44B0X上。

  3 μC/OS-II在S3C44B0X上移植的概要

  μC/OS-II硬件和軟件的體系結構如圖1所示。從圖中可以看出,對μC/OS-II的移植實(shí)際上就是對與處理器有關(guān)的代碼進(jìn)行重寫(xiě)或修改。本文中移植代碼結構由四部分組成,分別是用戶(hù)代碼部分、核心代碼部分、設置代碼部分、與處理器相關(guān)的移植代碼部分。用戶(hù)代碼即應用軟件,用來(lái)實(shí)現用戶(hù)的具體要求,例如本文中和PC機的串口通訊代碼;核心代碼部分, 包含OS_CORE.C、COS_FLAG.C、OS_MBOX.C、OS_MEME.C、OS_Q.C、OS_SEM.C、OS_TASK.C、OS_TIME.C、μC/OS-II.C、μC/OS-II.H 十個(gè)文件;設置代碼部分,即μC/OS-II配置代碼,包含OS_CFG.H、INCLUDES.H 兩個(gè)文件,用來(lái)配置事件控制塊的數目以及是否包含消息管理相關(guān)代碼等;與處理器相關(guān)代碼即μC/OS-II要移植的處理器配置代碼,包含OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C三個(gè)文件,在μC/OS-II的移植過(guò)程中,用戶(hù)所需要關(guān)注的就是這部分文件。

圖1 μC/OS-II軟硬件體系結構


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>