電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>ARM>uC/OS-II在ARM系統(tǒng)上的移植與實(shí)現(xiàn)

uC/OS-II在ARM系統(tǒng)上的移植與實(shí)現(xiàn)

2017-10-30 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

引言
  在開(kāi)發(fā)嵌入式系統(tǒng)時(shí),一般選擇基于ARM 和uC/ OS - II 的嵌入式開(kāi)發(fā)平臺(tái),因?yàn)锳RM 微處理器具有處理速度快、超低功耗、價(jià)格低廉、應(yīng)用前景廣泛等優(yōu)點(diǎn)[1 ] 。 將uC/ OS - II 移植到ARM 系統(tǒng)之后,可以充分結(jié)合兩者的優(yōu)勢(shì)。 如果一個(gè)程序在一個(gè)環(huán)境里能工作,我們經(jīng)常希望能將它移植到另一個(gè)編譯系統(tǒng)、處理器或者操作系統(tǒng)上,這就是移植技術(shù)。移植技術(shù)可以使一種特定的技術(shù)在更加廣泛的范圍使用,使軟件使用更加靈活,不局限于某一條件.uC/OS - II 是由Jean J 。 Labrosse 先生編寫(xiě)的完整的可移植、固化、裁剪的占先式實(shí)時(shí)多任務(wù)內(nèi)核.uC/ OS - II 的源代碼完全開(kāi)放,這是其他商業(yè)實(shí)時(shí)內(nèi)核無(wú)法比擬的[2 ] 。 它是針對(duì)嵌入式應(yīng)用設(shè)計(jì)的,在設(shè)計(jì)之初就充分考慮了可移植性,它的大部分源代碼都是用高可移植性的ANSIC 編寫(xiě)的[3 ] 。 uC/ OS - II可以移植到從8 位到64 位的不同類(lèi)型、不同規(guī)模的嵌入式系統(tǒng),并能在大部分的8 位、16 位、32 位、甚至64 位的微處理器和DSP 上運(yùn)行。 由于uC/ OS - II是一個(gè)實(shí)時(shí)操作系統(tǒng),所以如果將它嵌入到ARM處理器上,就能夠進(jìn)一步簡(jiǎn)化ARM系統(tǒng)的開(kāi)發(fā)。
  uC/OS-II在ARM系統(tǒng)上的移植與實(shí)現(xiàn)
  圖1  uC/ OS - II 文件體系結(jié)構(gòu)
  1  uC/ OS - II 的移植
  uC/OS - II 的文件系統(tǒng)結(jié)構(gòu)包括核心代碼部分、設(shè)置代碼部分、與處理器相關(guān)的移植代碼部分[4 ] 。 結(jié)構(gòu)如圖1 所示。其中最上邊的軟件應(yīng)用層是uC/ OS - II 上的代碼。 核心代碼部分包括7 個(gè)源代碼文件和1 個(gè)頭文件。 功能分別是內(nèi)核管理、事件管理、消息隊(duì)列管理、存儲(chǔ)管理、消息管理、信號(hào)量處理、任務(wù)調(diào)度和定時(shí)管理。 設(shè)置代碼部分包括2 個(gè)頭文件,用來(lái)配置事件控制塊的數(shù)目以及是否包含消息管理相關(guān)代碼。 而與處理器相關(guān)的移植代碼部分則是進(jìn)行移植過(guò)程中需要更改的部分,包括1 個(gè)頭文件OS CPU. H ,1 個(gè)匯編文件OS CPU A. S 和1 個(gè)C 代碼文件。實(shí)際上將uC/ OS - II 移植到ARM 處理器上,需要完成的工作主要是以下三個(gè)與體系結(jié)構(gòu)相關(guān)的文件:OS CPU. H ,OS CPU. C 以及OS CPU A. S[5 ] 。
  1. 1  OS CPU. H 的移植
  文件OS CPU. H 中包括了用# define 語(yǔ)句定義的與處理器相關(guān)的常數(shù)、宏以及類(lèi)型。 移植時(shí)主要修改的內(nèi)容有:與編譯器相關(guān)的數(shù)據(jù)類(lèi)型的設(shè)定;用#define 語(yǔ)句定義2 個(gè)宏開(kāi)關(guān)中斷;根據(jù)堆棧的方向定義OS STK GROWTH等。
  在將uC/ OS - II 移植到ARM 處理器上時(shí),首先進(jìn)行基本配置和數(shù)據(jù)類(lèi)型定義。 重新定義數(shù)據(jù)類(lèi)型是為了增加代碼的可移植性,因?yàn)椴煌木幾g器所提供的同一數(shù)據(jù)類(lèi)型的數(shù)據(jù)長(zhǎng)度并不相同,例如int型,在有的編譯器中是16 位,而在另外一些編譯器中則是32 位。 所以,為了便于移植,需要重新定義數(shù)據(jù)類(lèi)型,如INT32U 代表無(wú)符號(hào)32 位整型。 typedefunsigned int INT8U ,就是定義一個(gè)8 位的無(wú)符號(hào)整型數(shù)據(jù)類(lèi)型。 其次就是對(duì)ARM 處理器相關(guān)宏進(jìn)行定義,如ARM處理器中的退出臨界區(qū)和進(jìn)入臨界區(qū)的宏定義,退出臨界區(qū)宏定義[5 ] : # define OS EXITCRITICAL () ARMDisable Int ( ) / / 關(guān)中斷,進(jìn)入臨界區(qū)宏定義# define OS ENTER CRITICAL ( ) AR2MEnableInt () / / 開(kāi)中斷。 最后就是堆棧增長(zhǎng)方向的設(shè)定。 當(dāng)進(jìn)行函數(shù)調(diào)用時(shí),入口參數(shù)和返回地址一般都會(huì)保存在當(dāng)前任務(wù)的堆棧中,編譯器的編譯選項(xiàng)和由此生成的堆棧指令就會(huì)決定堆棧的增長(zhǎng)方向[6 ] ,定義為# define OS STK GROWTH 1.
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1490次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  92次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開(kāi)關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
  14. 0.63 MB  |  3次下載  |  免費(fèi)
  15. 89天練會(huì)電子電路識(shí)圖
  16. 5.91 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)