資料介紹
引言
在開發嵌入式系統時,一般選擇基于ARM 和uC/ OS - II 的嵌入式開發平臺,因為ARM 微處理器具有處理速度快、超低功耗、價格低廉、應用前景廣泛等優點[1 ] 。 將uC/ OS - II 移植到ARM 系統之后,可以充分結合兩者的優勢。 如果一個程序在一個環境里能工作,我們經常希望能將它移植到另一個編譯系統、處理器或者操作系統上,這就是移植技術。移植技術可以使一種特定的技術在更加廣泛的范圍使用,使軟件使用更加靈活,不局限于某一條件.uC/OS - II 是由Jean J 。 Labrosse 先生編寫的完整的可移植、固化、裁剪的占先式實時多任務內核.uC/ OS - II 的源代碼完全開放,這是其他商業實時內核無法比擬的[2 ] 。 它是針對嵌入式應用設計的,在設計之初就充分考慮了可移植性,它的大部分源代碼都是用高可移植性的ANSIC 編寫的[3 ] 。 uC/ OS - II可以移植到從8 位到64 位的不同類型、不同規模的嵌入式系統,并能在大部分的8 位、16 位、32 位、甚至64 位的微處理器和DSP 上運行。 由于uC/ OS - II是一個實時操作系統,所以如果將它嵌入到ARM處理器上,就能夠進一步簡化ARM系統的開發。
圖1 uC/ OS - II 文件體系結構
1 uC/ OS - II 的移植
uC/OS - II 的文件系統結構包括核心代碼部分、設置代碼部分、與處理器相關的移植代碼部分[4 ] 。 結構如圖1 所示。其中最上邊的軟件應用層是uC/ OS - II 上的代碼。 核心代碼部分包括7 個源代碼文件和1 個頭文件。 功能分別是內核管理、事件管理、消息隊列管理、存儲管理、消息管理、信號量處理、任務調度和定時管理。 設置代碼部分包括2 個頭文件,用來配置事件控制塊的數目以及是否包含消息管理相關代碼。 而與處理器相關的移植代碼部分則是進行移植過程中需要更改的部分,包括1 個頭文件OS CPU. H ,1 個匯編文件OS CPU A. S 和1 個C 代碼文件。實際上將uC/ OS - II 移植到ARM 處理器上,需要完成的工作主要是以下三個與體系結構相關的文件:OS CPU. H ,OS CPU. C 以及OS CPU A. S[5 ] 。
1. 1 OS CPU. H 的移植
文件OS CPU. H 中包括了用# define 語句定義的與處理器相關的常數、宏以及類型。 移植時主要修改的內容有:與編譯器相關的數據類型的設定;用#define 語句定義2 個宏開關中斷;根據堆棧的方向定義OS STK GROWTH等。
在將uC/ OS - II 移植到ARM 處理器上時,首先進行基本配置和數據類型定義。 重新定義數據類型是為了增加代碼的可移植性,因為不同的編譯器所提供的同一數據類型的數據長度并不相同,例如int型,在有的編譯器中是16 位,而在另外一些編譯器中則是32 位。 所以,為了便于移植,需要重新定義數據類型,如INT32U 代表無符號32 位整型。 typedefunsigned int INT8U ,就是定義一個8 位的無符號整型數據類型。 其次就是對ARM 處理器相關宏進行定義,如ARM處理器中的退出臨界區和進入臨界區的宏定義,退出臨界區宏定義[5 ] : # define OS EXITCRITICAL () ARMDisable Int ( ) / / 關中斷,進入臨界區宏定義# define OS ENTER CRITICAL ( ) AR2MEnableInt () / / 開中斷。 最后就是堆棧增長方向的設定。 當進行函數調用時,入口參數和返回地址一般都會保存在當前任務的堆棧中,編譯器的編譯選項和由此生成的堆棧指令就會決定堆棧的增長方向[6 ] ,定義為# define OS STK GROWTH 1.
在開發嵌入式系統時,一般選擇基于ARM 和uC/ OS - II 的嵌入式開發平臺,因為ARM 微處理器具有處理速度快、超低功耗、價格低廉、應用前景廣泛等優點[1 ] 。 將uC/ OS - II 移植到ARM 系統之后,可以充分結合兩者的優勢。 如果一個程序在一個環境里能工作,我們經常希望能將它移植到另一個編譯系統、處理器或者操作系統上,這就是移植技術。移植技術可以使一種特定的技術在更加廣泛的范圍使用,使軟件使用更加靈活,不局限于某一條件.uC/OS - II 是由Jean J 。 Labrosse 先生編寫的完整的可移植、固化、裁剪的占先式實時多任務內核.uC/ OS - II 的源代碼完全開放,這是其他商業實時內核無法比擬的[2 ] 。 它是針對嵌入式應用設計的,在設計之初就充分考慮了可移植性,它的大部分源代碼都是用高可移植性的ANSIC 編寫的[3 ] 。 uC/ OS - II可以移植到從8 位到64 位的不同類型、不同規模的嵌入式系統,并能在大部分的8 位、16 位、32 位、甚至64 位的微處理器和DSP 上運行。 由于uC/ OS - II是一個實時操作系統,所以如果將它嵌入到ARM處理器上,就能夠進一步簡化ARM系統的開發。
圖1 uC/ OS - II 文件體系結構
1 uC/ OS - II 的移植
uC/OS - II 的文件系統結構包括核心代碼部分、設置代碼部分、與處理器相關的移植代碼部分[4 ] 。 結構如圖1 所示。其中最上邊的軟件應用層是uC/ OS - II 上的代碼。 核心代碼部分包括7 個源代碼文件和1 個頭文件。 功能分別是內核管理、事件管理、消息隊列管理、存儲管理、消息管理、信號量處理、任務調度和定時管理。 設置代碼部分包括2 個頭文件,用來配置事件控制塊的數目以及是否包含消息管理相關代碼。 而與處理器相關的移植代碼部分則是進行移植過程中需要更改的部分,包括1 個頭文件OS CPU. H ,1 個匯編文件OS CPU A. S 和1 個C 代碼文件。實際上將uC/ OS - II 移植到ARM 處理器上,需要完成的工作主要是以下三個與體系結構相關的文件:OS CPU. H ,OS CPU. C 以及OS CPU A. S[5 ] 。
1. 1 OS CPU. H 的移植
文件OS CPU. H 中包括了用# define 語句定義的與處理器相關的常數、宏以及類型。 移植時主要修改的內容有:與編譯器相關的數據類型的設定;用#define 語句定義2 個宏開關中斷;根據堆棧的方向定義OS STK GROWTH等。
在將uC/ OS - II 移植到ARM 處理器上時,首先進行基本配置和數據類型定義。 重新定義數據類型是為了增加代碼的可移植性,因為不同的編譯器所提供的同一數據類型的數據長度并不相同,例如int型,在有的編譯器中是16 位,而在另外一些編譯器中則是32 位。 所以,為了便于移植,需要重新定義數據類型,如INT32U 代表無符號32 位整型。 typedefunsigned int INT8U ,就是定義一個8 位的無符號整型數據類型。 其次就是對ARM 處理器相關宏進行定義,如ARM處理器中的退出臨界區和進入臨界區的宏定義,退出臨界區宏定義[5 ] : # define OS EXITCRITICAL () ARMDisable Int ( ) / / 關中斷,進入臨界區宏定義# define OS ENTER CRITICAL ( ) AR2MEnableInt () / / 開中斷。 最后就是堆棧增長方向的設定。 當進行函數調用時,入口參數和返回地址一般都會保存在當前任務的堆棧中,編譯器的編譯選項和由此生成的堆棧指令就會決定堆棧的增長方向[6 ] ,定義為# define OS STK GROWTH 1.
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式實時操作系統μC、OS-II在ARM上的移植.
- 詳解μC/OS-II在ARM平臺上移植 13次下載
- μC/OS-II 在Nios上的移植
- uCOS II 在SkyEye 上的移植分析
- ARM7內核上的uCOS II嵌入式系統移植
- uc/os-ii在ARM處理器上的移植
- 實時操作系統OS-II在ARM7上的移植
- 基于ARM的嵌入式操作系統μC/OS-II的移植
- μC/OS-II在PC機上移植的設計與實現
- 基于uc/os-ii 的嵌入式GUI研究與應用
- μC/OS-II 在LPC2210上的移植實現
- 嵌入式μC/OS-II在LPC2104上的移植及通信設計
- 實時操作系統μC/OS-II 在LPC2210 上的移植研究
- μC OS-II 在Nios 上的移植1
- μC OS-II 在S3C44B0X 處理器上的移植
- 基于μC/OS-II和TMS320LF2407A實現集散式數據采集系統的設計 2344次閱讀
- 基于實時嵌入式操作系統mC/OS-II實現GPRS終端系統的設計 2408次閱讀
- 基于MC9S12DP256芯片和μC/OS-II實現CCP軟件的設計 2883次閱讀
- 基于嵌入式工控模塊和μC/OS-II實現車載狀態監控系統的設計 2064次閱讀
- 基于C8051F015芯片在開發板上實現μC/OS-II的移植 2154次閱讀
- 基于μC/OS-II操作系統實現在P89V51RD2微控制器上運行 811次閱讀
- 基于μC/OS-II操作系統在SPCE061A上的移植優化研研究 850次閱讀
- 51單片機對μC/OS-II實時操作系統的移植 2507次閱讀
- LPC213X通過μC/OS-II的多種移植方案 678次閱讀
- 淺論uC/OS-II 在電動車電池管理系統中的應用研究 1437次閱讀
- LPC2119簡介 μC/OS-II在LPC2119上的移植 2847次閱讀
- 車輛調度系統的整體設計 UC/OS-II的內核調度機理 1207次閱讀
- 基于STM32的嵌入式測控系統設計與實現 8642次閱讀
- 嵌入式設備設計的內核uc/os-ii api使用手冊大全 4323次閱讀
- 用AndesCore N1033A-S處理器實現μC/OS-II的移植 4140次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多