資料介紹
引言
在開(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 位的不同類型、不同規(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ā)。
圖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ù)、宏以及類型。 移植時(shí)主要修改的內(nèi)容有:與編譯器相關(guān)的數(shù)據(jù)類型的設(shè)定;用#define 語(yǔ)句定義2 個(gè)宏開(kāi)關(guān)中斷;根據(jù)堆棧的方向定義OS STK GROWTH等。
在將uC/ OS - II 移植到ARM 處理器上時(shí),首先進(jìn)行基本配置和數(shù)據(jù)類型定義。 重新定義數(shù)據(jù)類型是為了增加代碼的可移植性,因?yàn)椴煌木幾g器所提供的同一數(shù)據(jù)類型的數(shù)據(jù)長(zhǎng)度并不相同,例如int型,在有的編譯器中是16 位,而在另外一些編譯器中則是32 位。 所以,為了便于移植,需要重新定義數(shù)據(jù)類型,如INT32U 代表無(wú)符號(hào)32 位整型。 typedefunsigned int INT8U ,就是定義一個(gè)8 位的無(wú)符號(hào)整型數(shù)據(jù)類型。 其次就是對(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.
在開(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 位的不同類型、不同規(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ā)。
圖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ù)、宏以及類型。 移植時(shí)主要修改的內(nèi)容有:與編譯器相關(guān)的數(shù)據(jù)類型的設(shè)定;用#define 語(yǔ)句定義2 個(gè)宏開(kāi)關(guān)中斷;根據(jù)堆棧的方向定義OS STK GROWTH等。
在將uC/ OS - II 移植到ARM 處理器上時(shí),首先進(jìn)行基本配置和數(shù)據(jù)類型定義。 重新定義數(shù)據(jù)類型是為了增加代碼的可移植性,因?yàn)椴煌木幾g器所提供的同一數(shù)據(jù)類型的數(shù)據(jù)長(zhǎng)度并不相同,例如int型,在有的編譯器中是16 位,而在另外一些編譯器中則是32 位。 所以,為了便于移植,需要重新定義數(shù)據(jù)類型,如INT32U 代表無(wú)符號(hào)32 位整型。 typedefunsigned int INT8U ,就是定義一個(gè)8 位的無(wú)符號(hào)整型數(shù)據(jù)類型。 其次就是對(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.
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式實(shí)時(shí)操作系統(tǒng)μC、OS-II在ARM上的移植.
- 詳解μC/OS-II在ARM平臺(tái)上移植 13次下載
- μC/OS-II 在Nios上的移植
- uCOS II 在SkyEye 上的移植分析
- ARM7內(nèi)核上的uCOS II嵌入式系統(tǒng)移植
- uc/os-ii在ARM處理器上的移植
- 實(shí)時(shí)操作系統(tǒng)OS-II在ARM7上的移植
- 基于ARM的嵌入式操作系統(tǒng)μC/OS-II的移植
- μC/OS-II在PC機(jī)上移植的設(shè)計(jì)與實(shí)現(xiàn)
- 基于uc/os-ii 的嵌入式GUI研究與應(yīng)用
- μC/OS-II 在LPC2210上的移植實(shí)現(xiàn)
- 嵌入式μC/OS-II在LPC2104上的移植及通信設(shè)計(jì)
- 實(shí)時(shí)操作系統(tǒng)μC/OS-II 在LPC2210 上的移植研究
- μC OS-II 在Nios 上的移植1
- μC OS-II 在S3C44B0X 處理器上的移植
- 基于μC/OS-II和TMS320LF2407A實(shí)現(xiàn)集散式數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) 2186次閱讀
- 基于實(shí)時(shí)嵌入式操作系統(tǒng)mC/OS-II實(shí)現(xiàn)GPRS終端系統(tǒng)的設(shè)計(jì) 2252次閱讀
- 基于MC9S12DP256芯片和μC/OS-II實(shí)現(xiàn)CCP軟件的設(shè)計(jì) 2685次閱讀
- 基于嵌入式工控模塊和μC/OS-II實(shí)現(xiàn)車載狀態(tài)監(jiān)控系統(tǒng)的設(shè)計(jì) 1907次閱讀
- 基于C8051F015芯片在開(kāi)發(fā)板上實(shí)現(xiàn)μC/OS-II的移植 2027次閱讀
- 基于μC/OS-II操作系統(tǒng)實(shí)現(xiàn)在P89V51RD2微控制器上運(yùn)行 747次閱讀
- 基于μC/OS-II操作系統(tǒng)在SPCE061A上的移植優(yōu)化研研究 779次閱讀
- 51單片機(jī)對(duì)μC/OS-II實(shí)時(shí)操作系統(tǒng)的移植 2385次閱讀
- LPC213X通過(guò)μC/OS-II的多種移植方案 621次閱讀
- 淺論uC/OS-II 在電動(dòng)車電池管理系統(tǒng)中的應(yīng)用研究 1313次閱讀
- LPC2119簡(jiǎn)介 μC/OS-II在LPC2119上的移植 2705次閱讀
- 車輛調(diào)度系統(tǒng)的整體設(shè)計(jì) UC/OS-II的內(nèi)核調(diào)度機(jī)理 1116次閱讀
- 基于STM32的嵌入式測(cè)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 8368次閱讀
- 嵌入式設(shè)備設(shè)計(jì)的內(nèi)核uc/os-ii api使用手冊(cè)大全 4213次閱讀
- 用AndesCore N1033A-S處理器實(shí)現(xiàn)μC/OS-II的移植 3969次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多