資料介紹
1 背景
隨著計算機技術的迅速發展和芯片制造工藝的不斷進步,嵌入式系統的應用日益廣泛:從民用的電視、手機等電路設備到軍用的飛機、坦克等武器系統,到處都有嵌入式系統的身影。在嵌入式系統的應用開發中,采和嵌入式實時操作系統(簡稱RTOS)能夠支持多任務,使得程序開發更加容易,便于維護,同時能夠提高系統的穩定性和可靠性。這已逐漸成為嵌入式系統開發的一個發展方向。
2 嵌入式操作系統概述
嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件。它是嵌入式系統(包括硬、軟件系統)極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器Browser等。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越復雜的系統資源;能夠把硬件虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、標準設備驅動程序以及工具集等。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。
嵌入式系統的出現至今已經有30多年的歷史。縱觀嵌入式技術的發展過程,大致經歷了四個階段。
(1)無操作系統的嵌入式算法階段
這一階段的嵌入式系統是以單芯片為核心的系統,具有與一些監測、伺服、指示設備相配合的功能。一般沒有明顯的操作系統支持,而是通過匯編語言編程對系統進行直接控制。主要特點是系統結構和功能都相對單一,針對性強,無操作系統支持,幾乎沒有用戶接口。
(2)簡單監控式的實時操作系統階段
這一階段的嵌入式系統主要以嵌入式式器為基礎、以簡單監控式操作系統為核心。系統的特點是:處理器種類繁多,通用性比較弱;開銷小,效率高;一般配備系統仿真器,具有一定的兼容性和擴展性;用戶界面不夠友好,主要用來控制系統負載以及監控應用程序運行。
(3)通用的嵌入式實時操作系統階段
以通用型嵌入式實時操作系統為標志的嵌入式系統,如VxWorks、pSos、Windows CE就是這一階段的典型代表。這一階段嵌入式系統的特點是:能運行在各種不同的微處理器上;具有強大的能用型操作系統的功能,如具備了文件和目錄管理、多任務、設備驅動支持、網絡支持、圖形窗口以及用戶界面等功能;具有豐富的API和嵌入式應用軟件。
(4)以Internet為標志的嵌入式系統
伴隨著通用型嵌入式實時操作系統的發展,面向Internet網絡和特定應用的嵌入式操作系統正日益引起人們的重視,成為重要的發展方向。嵌入式系統與Internet的真正結合、嵌入式操作系統與應用設備的無縫結合代表著嵌入式操作系統發展的未來。
3 兩種源碼開放的RTOS
嵌入式實時操作系統有很多,如VxWorks、PalmOS、WindowsCE等。這些操作系統均屬于商品化產品,價格昂貴且由于源泉代碼不公開導致了諸如對設備的支持、應用軟件的移植等一系列的問題;而開放源碼的RTOS在成本和技術上有其特有的優勢,在RTOS領域占有越來越重要的地位,本文將介紹μC/OS-II和eCos兩種優秀的源碼公開的實時操作系統,通過對它們各自的特點和性能進行分析和比較,給出相關的數據,為選擇一種合適的RTOS提供參考。
3.1 μC/OS-II
μC/OS-II的前射是μC/OS,最早出自于1992年美國嵌入式系統專家Jean J.Labrosse在《嵌入式系統編程》雜志的5月和6月刊上刊登的文章連載,并把μC/OS的源碼發布在該雜志的BBS上。當時就有500多人下載了這份源碼。世界上數以千計的工程技術人員將μC/OS應用到了各個領域,如照相機業、發動機控制、網絡接入設備、高速公路電話系統、ATM機和工業機器人等。許多大學用μC/OS作教材,用于實時系統教學。1998年,作者決定出版μC/OS的第二本書《μC/OS-II The Real Time Kernel》,并設立了正式的網站:www. ΜC/OS-II.com,給μC/OS-II增加了一些新的功能,并且增加了約200頁的解釋。
μC/OS和μC/OS-II是專門為計算機的嵌入式應用設計的,絕大部分代碼是用C語言編寫的。CPU硬件相關部分是用匯編語言編寫的、總量約200行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的CPU上。許多移植的范例可以從網站上得到。用戶只要有標準的ANSI的C交叉編譯器,有匯編器、連接器等軟件工具,就可以將μC/OS嵌入到開發的產品中。
μC/OS具有執行效率高、占用空間小、實時性能優良和可擴展性能等特點,最小內核可編譯至2KB。μC/OS-II已經移植到了幾乎所有知名的CPU上。
3.2 eCos
eCos(embedded Configurable operating system),即嵌入式可配置操作系統,最初起源于美國的Cygnus Solutions公司。Cygnus公司于1998年11月發布了第一個eCos版本eCos1.1,當時只支持有限的幾種處理器結構。1999年11月,RedHat公司以6.74億美元收購了Cygnus公司。在此后的幾年里,eCos成為其嵌入式領域的關鍵產品,得到了迅速的發展。2002年,RedHat公司由于財務方面的原因,裁剪了eCos開發隊伍,但并沒有停止eCos的發展。RedHat公司隨后宣稱將繼續支持eCos的發展,而由原eCos主要開發人員組建了eCos Centric公司,并于2003年5月正式發布了eCos2.0。
雖然eCos是RedHat的產品,但是eCos并不是Linux或Linux的派生,eCos彌補了Linux在嵌入式應用領域的不足。目前,一個最小配置的Linux內核大概有500KB,需要占用1.5MB的內存空間,這還不包括應用程序和其它所需的服務;eCos可以提供實時嵌入式應用所需的基本運行基件,而只占用幾十KB或幾百KB的內存空間。eCOS是一個源碼開放的可配置、可移植、無版稅、面向深嵌入式應用的實時操作系統。從eCOS的名稱可以看出,它最大的特點在于它是一個配置靈活的系統。ECOS的核心部分是由不同的組件組成的,包括內核、C語言庫和底層運行包等。每個組件以能提供大量的可配置選項,利用eCOS提供的配置工具可以很方便地進行配置。通過不同的配置使得eCOS能夠滿足不同的嵌入式應用。
4 μC/OS-II與eCOS的比較
對于以上兩種源泉碼公開的實時操作系統,我們主要從以下幾個方面進行比較。通過比較,能夠為大家選擇適合自己系統的RTOS提供參考。
4.1 內核調度機制
RTOS內核的核心是調度器。當系統包含多個任務或多個線程時,必須使用調度器來決定當前執行哪一個任務或線程。調度器對線程的運行進行控制,并為線程提供一種同步機制。表1列出了這兩種RTOS調度器(調度機制)的比較。
表1 調度器比較
調度方法同優先級調度優先級數/個任務數量/個
uC/OS-II固定
優先級
搶占式無64
(8個保留)56
eCos位圖優先級
搶占式無3232
多級隊列優先級
搶占式有32無限
獎券獎券法目前在測試中
μC/OS只支持固定優先級搶占式,不支持時間片輪轉調度,調度方法簡單、實時性好,用法也簡單;eCOS調度方法豐富,適應性好。當然,目前的eCOS只允許在其目標系統中使用一個單獨的調度器,未來的版本將可以允許多個調度器協同工作。
4.2 任務間同步、通信機制
RTOS的功能一般要通過若干任務和中斷服務程序共同完成,任務與任務之間、任務與中斷服務程序之間必須協調動作,互相配合,這就牽涉到任務間的同步與通信問題。表2為這兩種操作系統同步與通信機制的比較。
表2 同步與通信機制的比較
uC/OS-IIeCos
同步與通信機制信號量、郵箱、消息隊列互斥、條件變量、計數型信號量、郵箱和事件標志
4.3 任務切換時間和中斷延遲時間
任務切換時間和中斷延遲時間是評估RTOS性能的兩個重要指標。任務切換時間可以反映出RTOS執行任務的速度,而中斷延遲時間可以反映出RTOS對外界變化的反應速度。表3為這兩種操作系統任務切換時間和中斷延遲時間的比較。
表3 任務切換時間和中斷延遲時間的比較
任務切換時間/us中斷延遲時間/μs測試環境
μC/OS-II29.7~34.278.8Intel80186(33MHz)
eCos15.8419.2MPC860A3(33MHz)
4.4 對硬件的支持
μC/OS-II和eCOS支持當前流行的大部分嵌入式CPU,都具有很好的可移植特性。μC/OS-II支持從8位到32位的CPU;而eCOS可以在16位、32位和64位等不同體系結構之間移植。μC/OS-II和eCOS由于本身內核就很小,經過裁剪后的代碼最小可以分別為小于2KB和10KB,所需的最小數據RAM空間可以為4KB和10KB,因此它們對硬件的要求很低,具有極高的經濟性。
結語
通過比較可以看到:μC/OS-II相對eCOS來說,源代碼最小很多,特別適合學習和研究。它最大的特點是小巧,適合應用在一些RAM和ROM有限的小型嵌入式系統中,如單片機系統。ECOS最大的特點是配置靈活,適合于用在一些商業級或工業級的嵌入式系統,如一些消費電子、汽車領域等等。總之,選用什么樣的操作系統,要根據目標系統的硬件條件和用戶應用程序的復雜度來確定。
?
隨著計算機技術的迅速發展和芯片制造工藝的不斷進步,嵌入式系統的應用日益廣泛:從民用的電視、手機等電路設備到軍用的飛機、坦克等武器系統,到處都有嵌入式系統的身影。在嵌入式系統的應用開發中,采和嵌入式實時操作系統(簡稱RTOS)能夠支持多任務,使得程序開發更加容易,便于維護,同時能夠提高系統的穩定性和可靠性。這已逐漸成為嵌入式系統開發的一個發展方向。
2 嵌入式操作系統概述
嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件。它是嵌入式系統(包括硬、軟件系統)極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器Browser等。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越復雜的系統資源;能夠把硬件虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、標準設備驅動程序以及工具集等。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。
嵌入式系統的出現至今已經有30多年的歷史。縱觀嵌入式技術的發展過程,大致經歷了四個階段。
(1)無操作系統的嵌入式算法階段
這一階段的嵌入式系統是以單芯片為核心的系統,具有與一些監測、伺服、指示設備相配合的功能。一般沒有明顯的操作系統支持,而是通過匯編語言編程對系統進行直接控制。主要特點是系統結構和功能都相對單一,針對性強,無操作系統支持,幾乎沒有用戶接口。
(2)簡單監控式的實時操作系統階段
這一階段的嵌入式系統主要以嵌入式式器為基礎、以簡單監控式操作系統為核心。系統的特點是:處理器種類繁多,通用性比較弱;開銷小,效率高;一般配備系統仿真器,具有一定的兼容性和擴展性;用戶界面不夠友好,主要用來控制系統負載以及監控應用程序運行。
(3)通用的嵌入式實時操作系統階段
以通用型嵌入式實時操作系統為標志的嵌入式系統,如VxWorks、pSos、Windows CE就是這一階段的典型代表。這一階段嵌入式系統的特點是:能運行在各種不同的微處理器上;具有強大的能用型操作系統的功能,如具備了文件和目錄管理、多任務、設備驅動支持、網絡支持、圖形窗口以及用戶界面等功能;具有豐富的API和嵌入式應用軟件。
(4)以Internet為標志的嵌入式系統
伴隨著通用型嵌入式實時操作系統的發展,面向Internet網絡和特定應用的嵌入式操作系統正日益引起人們的重視,成為重要的發展方向。嵌入式系統與Internet的真正結合、嵌入式操作系統與應用設備的無縫結合代表著嵌入式操作系統發展的未來。
3 兩種源碼開放的RTOS
嵌入式實時操作系統有很多,如VxWorks、PalmOS、WindowsCE等。這些操作系統均屬于商品化產品,價格昂貴且由于源泉代碼不公開導致了諸如對設備的支持、應用軟件的移植等一系列的問題;而開放源碼的RTOS在成本和技術上有其特有的優勢,在RTOS領域占有越來越重要的地位,本文將介紹μC/OS-II和eCos兩種優秀的源碼公開的實時操作系統,通過對它們各自的特點和性能進行分析和比較,給出相關的數據,為選擇一種合適的RTOS提供參考。
3.1 μC/OS-II
μC/OS-II的前射是μC/OS,最早出自于1992年美國嵌入式系統專家Jean J.Labrosse在《嵌入式系統編程》雜志的5月和6月刊上刊登的文章連載,并把μC/OS的源碼發布在該雜志的BBS上。當時就有500多人下載了這份源碼。世界上數以千計的工程技術人員將μC/OS應用到了各個領域,如照相機業、發動機控制、網絡接入設備、高速公路電話系統、ATM機和工業機器人等。許多大學用μC/OS作教材,用于實時系統教學。1998年,作者決定出版μC/OS的第二本書《μC/OS-II The Real Time Kernel》,并設立了正式的網站:www. ΜC/OS-II.com,給μC/OS-II增加了一些新的功能,并且增加了約200頁的解釋。
μC/OS和μC/OS-II是專門為計算機的嵌入式應用設計的,絕大部分代碼是用C語言編寫的。CPU硬件相關部分是用匯編語言編寫的、總量約200行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的CPU上。許多移植的范例可以從網站上得到。用戶只要有標準的ANSI的C交叉編譯器,有匯編器、連接器等軟件工具,就可以將μC/OS嵌入到開發的產品中。
μC/OS具有執行效率高、占用空間小、實時性能優良和可擴展性能等特點,最小內核可編譯至2KB。μC/OS-II已經移植到了幾乎所有知名的CPU上。
3.2 eCos
eCos(embedded Configurable operating system),即嵌入式可配置操作系統,最初起源于美國的Cygnus Solutions公司。Cygnus公司于1998年11月發布了第一個eCos版本eCos1.1,當時只支持有限的幾種處理器結構。1999年11月,RedHat公司以6.74億美元收購了Cygnus公司。在此后的幾年里,eCos成為其嵌入式領域的關鍵產品,得到了迅速的發展。2002年,RedHat公司由于財務方面的原因,裁剪了eCos開發隊伍,但并沒有停止eCos的發展。RedHat公司隨后宣稱將繼續支持eCos的發展,而由原eCos主要開發人員組建了eCos Centric公司,并于2003年5月正式發布了eCos2.0。
雖然eCos是RedHat的產品,但是eCos并不是Linux或Linux的派生,eCos彌補了Linux在嵌入式應用領域的不足。目前,一個最小配置的Linux內核大概有500KB,需要占用1.5MB的內存空間,這還不包括應用程序和其它所需的服務;eCos可以提供實時嵌入式應用所需的基本運行基件,而只占用幾十KB或幾百KB的內存空間。eCOS是一個源碼開放的可配置、可移植、無版稅、面向深嵌入式應用的實時操作系統。從eCOS的名稱可以看出,它最大的特點在于它是一個配置靈活的系統。ECOS的核心部分是由不同的組件組成的,包括內核、C語言庫和底層運行包等。每個組件以能提供大量的可配置選項,利用eCOS提供的配置工具可以很方便地進行配置。通過不同的配置使得eCOS能夠滿足不同的嵌入式應用。
4 μC/OS-II與eCOS的比較
對于以上兩種源泉碼公開的實時操作系統,我們主要從以下幾個方面進行比較。通過比較,能夠為大家選擇適合自己系統的RTOS提供參考。
4.1 內核調度機制
RTOS內核的核心是調度器。當系統包含多個任務或多個線程時,必須使用調度器來決定當前執行哪一個任務或線程。調度器對線程的運行進行控制,并為線程提供一種同步機制。表1列出了這兩種RTOS調度器(調度機制)的比較。
表1 調度器比較
調度方法同優先級調度優先級數/個任務數量/個
uC/OS-II固定
優先級
搶占式無64
(8個保留)56
eCos位圖優先級
搶占式無3232
多級隊列優先級
搶占式有32無限
獎券獎券法目前在測試中
μC/OS只支持固定優先級搶占式,不支持時間片輪轉調度,調度方法簡單、實時性好,用法也簡單;eCOS調度方法豐富,適應性好。當然,目前的eCOS只允許在其目標系統中使用一個單獨的調度器,未來的版本將可以允許多個調度器協同工作。
4.2 任務間同步、通信機制
RTOS的功能一般要通過若干任務和中斷服務程序共同完成,任務與任務之間、任務與中斷服務程序之間必須協調動作,互相配合,這就牽涉到任務間的同步與通信問題。表2為這兩種操作系統同步與通信機制的比較。
表2 同步與通信機制的比較
uC/OS-IIeCos
同步與通信機制信號量、郵箱、消息隊列互斥、條件變量、計數型信號量、郵箱和事件標志
4.3 任務切換時間和中斷延遲時間
任務切換時間和中斷延遲時間是評估RTOS性能的兩個重要指標。任務切換時間可以反映出RTOS執行任務的速度,而中斷延遲時間可以反映出RTOS對外界變化的反應速度。表3為這兩種操作系統任務切換時間和中斷延遲時間的比較。
表3 任務切換時間和中斷延遲時間的比較
任務切換時間/us中斷延遲時間/μs測試環境
μC/OS-II29.7~34.278.8Intel80186(33MHz)
eCos15.8419.2MPC860A3(33MHz)
4.4 對硬件的支持
μC/OS-II和eCOS支持當前流行的大部分嵌入式CPU,都具有很好的可移植特性。μC/OS-II支持從8位到32位的CPU;而eCOS可以在16位、32位和64位等不同體系結構之間移植。μC/OS-II和eCOS由于本身內核就很小,經過裁剪后的代碼最小可以分別為小于2KB和10KB,所需的最小數據RAM空間可以為4KB和10KB,因此它們對硬件的要求很低,具有極高的經濟性。
結語
通過比較可以看到:μC/OS-II相對eCOS來說,源代碼最小很多,特別適合學習和研究。它最大的特點是小巧,適合應用在一些RAM和ROM有限的小型嵌入式系統中,如單片機系統。ECOS最大的特點是配置靈活,適合于用在一些商業級或工業級的嵌入式系統,如一些消費電子、汽車領域等等。總之,選用什么樣的操作系統,要根據目標系統的硬件條件和用戶應用程序的復雜度來確定。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- μC/OS-II 在Nios上的移植
- 基于ARM+μC/OS-II的嵌入式數據采集系統設計
- μC/OS-II在PC機上移植的設計與實現
- 基于μC/OS-II的無線調度策略分析與實現
- 輕型PPP協議在μC/OS-II操作系統中的實現
- 嵌入式μC/OS-II在LPC2104上的移植及通信設計
- 基于μC/OS-II 的CAN總線驅動程序設計
- μC OS-II 中擴充任務數的方法
- 嵌入式實時操作系統μC OS-II與eCos的比較
- μC OS-II 在Nios 上的移植1
- μC OS-II 在S3C44B0X 處理器上的移植
- 編寫μC OS-II 實時內核下的串行驅動
- μC/OS-II 任務調度機制的改進
- 嵌入式實時操作系統μC/OS-II與eCos的比較
- 基于μC/OS-II的嵌入式音頻系統設計
- 基于μC/OS-II和TMS320LF2407A實現集散式數據采集系統的設計 2186次閱讀
- 基于實時嵌入式操作系統mC/OS-II實現GPRS終端系統的設計 2252次閱讀
- 基于MC9S12DP256芯片和μC/OS-II實現CCP軟件的設計 2685次閱讀
- 基于嵌入式工控模塊和μC/OS-II實現車載狀態監控系統的設計 1907次閱讀
- 基于μC/OS-II操作系統實現在P89V51RD2微控制器上運行 747次閱讀
- 基于μC/OS-II操作系統在SPCE061A上的移植優化研研究 779次閱讀
- 基于μC/OS-II嵌入式系統開發中低功耗系統的設計 2984次閱讀
- 51單片機對μC/OS-II實時操作系統的移植 2385次閱讀
- LPC213X通過μC/OS-II的多種移植方案 621次閱讀
- 淺論uC/OS-II 在電動車電池管理系統中的應用研究 1313次閱讀
- μC/OS-II系統基礎嵌入式開發編程教程 4370次閱讀
- LPC2119簡介 μC/OS-II在LPC2119上的移植 2705次閱讀
- 車輛調度系統的整體設計 UC/OS-II的內核調度機理 1116次閱讀
- 利用μC/OS-II的嵌入式激光測距系統 1992次閱讀
- 用AndesCore N1033A-S處理器實現μC/OS-II的移植 3969次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多