當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II與eCos的比較

    摘要:敘述嵌入式系統(tǒng)和嵌入式操作系統(tǒng)的概念,簡(jiǎn)述嵌入式實(shí)時(shí)系統(tǒng)的發(fā)展階段。重點(diǎn)介紹μC/OS-II和eCos的發(fā)展歷史,并且對(duì)μC/OS-II與eCos進(jìn)行比較,為大家在選擇嵌入式操作系統(tǒng)時(shí)提供參考。

    關(guān)鍵詞:嵌入式操作系統(tǒng) RTOS μC/OS-II eCos

1 背景

隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展和芯片制造工藝的不斷進(jìn)步,嵌入式系統(tǒng)的應(yīng)用日益廣泛:從民用的電視、手機(jī)等電路設(shè)備到軍用的飛機(jī)、坦克等武器系統(tǒng),到處都有嵌入式系統(tǒng)的身影。在嵌入式系統(tǒng)的應(yīng)用開發(fā)中,采和嵌入式實(shí)時(shí)操作系統(tǒng)(簡(jiǎn)稱RTOS)能夠支持多任務(wù),使得程序開發(fā)更加容易,便于維護(hù),同時(shí)能夠提高系統(tǒng)的穩(wěn)定性和可靠性。這已逐漸成為嵌入式系統(tǒng)開發(fā)的一個(gè)發(fā)展方向。

2 嵌入式操作系統(tǒng)概述

嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件。它是嵌入式系統(tǒng)(包括硬、軟件系統(tǒng))極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器Browser等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理越來(lái)越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動(dòng)程序移植和維護(hù)中解脫出來(lái);能夠提供庫(kù)函數(shù)、標(biāo)準(zhǔn)設(shè)備驅(qū)動(dòng)程序以及工具集等。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。

嵌入式系統(tǒng)的出現(xiàn)至今已經(jīng)有30多年的歷史??v觀嵌入式技術(shù)的發(fā)展過(guò)程,大致經(jīng)歷了四個(gè)階段。

(1)無(wú)操作系統(tǒng)的嵌入式算法階段

這一階段的嵌入式系統(tǒng)是以單芯片為核心的系統(tǒng),具有與一些監(jiān)測(cè)、伺服、指示設(shè)備相配合的功能。一般沒(méi)有明顯的操作系統(tǒng)支持,而是通過(guò)匯編語(yǔ)言編程對(duì)系統(tǒng)進(jìn)行直接控制。主要特點(diǎn)是系統(tǒng)結(jié)構(gòu)和功能都相對(duì)單一,針對(duì)性強(qiáng),無(wú)操作系統(tǒng)支持,幾乎沒(méi)有用戶接口。

(2)簡(jiǎn)單監(jiān)控式的實(shí)時(shí)操作系統(tǒng)階段

這一階段的嵌入式系統(tǒng)主要以嵌入式式器為基礎(chǔ)、以簡(jiǎn)單監(jiān)控式操作系統(tǒng)為核心。系統(tǒng)的特點(diǎn)是:處理器種類繁多,通用性比較弱;開銷小,效率高;一般配備系統(tǒng)仿真器,具有一定的兼容性和擴(kuò)展性;用戶界面不夠友好,主要用來(lái)控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序運(yùn)行。

(3)通用的嵌入式實(shí)時(shí)操作系統(tǒng)階段

以通用型嵌入式實(shí)時(shí)操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng),如VxWorks、pSos、Windows CE就是這一階段的典型代表。這一階段嵌入式系統(tǒng)的特點(diǎn)是:能運(yùn)行在各種不同的微處理器上;具有強(qiáng)大的能用型操作系統(tǒng)的功能,如具備了文件和目錄管理、多任務(wù)、設(shè)備驅(qū)動(dòng)支持、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有豐富的API和嵌入式應(yīng)用軟件。

(4)以Internet為標(biāo)志的嵌入式系統(tǒng)

伴隨著通用型嵌入式實(shí)時(shí)操作系統(tǒng)的發(fā)展,面向Internet網(wǎng)絡(luò)和特定應(yīng)用的嵌入式操作系統(tǒng)正日益引起人們的重視,成為重要的發(fā)展方向。嵌入式系統(tǒng)與Internet的真正結(jié)合、嵌入式操作系統(tǒng)與應(yīng)用設(shè)備的無(wú)縫結(jié)合代表著嵌入式操作系統(tǒng)發(fā)展的未來(lái)。

3 兩種源碼開放的RTOS

嵌入式實(shí)時(shí)操作系統(tǒng)有很多,如VxWorks、PalmOS、WindowsCE等。這些操作系統(tǒng)均屬于商品化產(chǎn)品,價(jià)格昂貴且由于源泉代碼不公開導(dǎo)致了諸如對(duì)設(shè)備的支持、應(yīng)用軟件的移植等一系列的問(wèn)題;而開放源碼的RTOS在成本和技術(shù)上有其特有的優(yōu)勢(shì),在RTOS領(lǐng)域占有越來(lái)越重要的地位,本文將介紹μC/OS-II和eCos兩種優(yōu)秀的源碼公開的實(shí)時(shí)操作系統(tǒng),通過(guò)對(duì)它們各自的特點(diǎn)和性能進(jìn)行分析和比較,給出相關(guān)的數(shù)據(jù),為選擇一種合適的RTOS提供參考。

3.1 μC/OS-II

μC/OS-II的前射是μC/OS,最早出自于1992年美國(guó)嵌入式系統(tǒng)專家Jean J.Labrosse在《嵌入式系統(tǒng)編程》雜志的5月和6月刊上刊登的文章連載,并把μC/OS的源碼發(fā)布在該雜志的BBS上。當(dāng)時(shí)就有500多人下載了這份源碼。世界上數(shù)以千計(jì)的工程技術(shù)人員將μC/OS應(yīng)用到了各個(gè)領(lǐng)域,如照相機(jī)業(yè)、發(fā)動(dòng)機(jī)控制、網(wǎng)絡(luò)接入設(shè)備、高速公路電話系統(tǒng)、ATM機(jī)和工業(yè)機(jī)器人等。許多大學(xué)用μC/OS作教材,用于實(shí)時(shí)系統(tǒng)教學(xué)。1998年,作者決定出版μC/OS的第二本書《μC/OS-II The Real Time Kernel》,并設(shè)立了正式的網(wǎng)站:www. ΜC/OS-II.com,給μC/OS-II增加了一些新的功能,并且增加了約200頁(yè)的解釋。

μC/OSμC/OS-II是專門為計(jì)算機(jī)的嵌入式應(yīng)用設(shè)計(jì)的,絕大部分代碼是用C語(yǔ)言編寫的。CPU硬件相關(guān)部分是用匯編語(yǔ)言編寫的、總量約200行的匯編語(yǔ)言部分被壓縮到最低限度,為的是便于移植到任何一種其它的CPU上。許多移植的范例可以從網(wǎng)站上得到。用戶只要有標(biāo)準(zhǔn)的ANSI的C交叉編譯器,有匯編器、連接器等軟件工具,就可以將μC/OS嵌入到開發(fā)的產(chǎn)品中。

μC/OS具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性能等特點(diǎn),最小內(nèi)核可編譯至2KB。μC/OS-II已經(jīng)移植到了幾乎所有知名的CPU上。

3.2 eCos

eCos(embedded Configurable operating system),即嵌入式可配置操作系統(tǒng),最初起源于美國(guó)的Cygnus Solutions公司。Cygnus公司于1998年11月發(fā)布了第一個(gè)eCos版本eCos1.1,當(dāng)時(shí)只支持有限的幾種處理器結(jié)構(gòu)。1999年11月,RedHat公司以6.74億美元收購(gòu)了Cygnus公司。在此后的幾年里,eCos成為其嵌入式領(lǐng)域的關(guān)鍵產(chǎn)品,得到了迅速的發(fā)展。2002年,RedHat公司由于財(cái)務(wù)方面的原因,裁剪了eCos開發(fā)隊(duì)伍,但并沒(méi)有停止eCos的發(fā)展。RedHat公司隨后宣稱將繼續(xù)支持eCos的發(fā)展,而由原eCos主要開發(fā)人員組建了eCos Centric公司,并于2003年5月正式發(fā)布了eCos2.0。

雖然eCos是RedHat的產(chǎn)品,但是eCos并不是Linux或Linux的派生,eCos彌補(bǔ)了Linux在嵌入式應(yīng)用領(lǐng)域的不足。目前,一個(gè)最小配置的Linux內(nèi)核大概有500KB,需要占用1.5MB的內(nèi)存空間,這還不包括應(yīng)用程序和其它所需的服務(wù);eCos可以提供實(shí)時(shí)嵌入式應(yīng)用所需的基本運(yùn)行基件,而只占用幾十KB或幾百KB的內(nèi)存空間。eCOS是一個(gè)源碼開放的可配置、可移植、無(wú)版稅、面向深嵌入式應(yīng)用的實(shí)時(shí)操作系統(tǒng)。從eCOS的名稱可以看出,它最大的特點(diǎn)在于它是一個(gè)配置靈活的系統(tǒng)。ECOS的核心部分是由不同的組件組成的,包括內(nèi)核、C語(yǔ)言庫(kù)和底層運(yùn)行包等。每個(gè)組件以能提供大量的可配置選項(xiàng),利用eCOS提供的配置工具可以很方便地進(jìn)行配置。通過(guò)不同的配置使得eCOS能夠滿足不同的嵌入式應(yīng)用。

4 μC/OS-II與eCOS的比較

對(duì)于以上兩種源泉碼公開的實(shí)時(shí)操作系統(tǒng),我們主要從以下幾個(gè)方面進(jìn)行比較。通過(guò)比較,能夠?yàn)榇蠹疫x擇適合自己系統(tǒng)的RTOS提供參考。

4.1 內(nèi)核調(diào)度機(jī)制

RTOS內(nèi)核的核心是調(diào)度器。當(dāng)系統(tǒng)包含多個(gè)任務(wù)或多個(gè)線程時(shí),必須使用調(diào)度器來(lái)決定當(dāng)前執(zhí)行哪一個(gè)任務(wù)或線程。調(diào)度器對(duì)線程的運(yùn)行進(jìn)行控制,并為線程提供一種同步機(jī)制。表1列出了這兩種RTOS調(diào)度器(調(diào)度機(jī)制)的比較。

表1 調(diào)度器比較

  調(diào)度方法 同優(yōu)先級(jí)調(diào)度 優(yōu)先級(jí)數(shù)/個(gè) 任務(wù)數(shù)量/個(gè)
uC/OS-II 固定
優(yōu)先級(jí)
搶占式
無(wú) 64
(8個(gè)保留)
56
eCos 位圖 優(yōu)先級(jí)
搶占式
無(wú) 32 32
多級(jí)隊(duì)列 優(yōu)先級(jí)
搶占式
32 無(wú)限
獎(jiǎng)券 獎(jiǎng)券法目前在測(cè)試中

μC/OS只支持固定優(yōu)先級(jí)搶占式,不支持時(shí)間片輪轉(zhuǎn)調(diào)度,調(diào)度方法簡(jiǎn)單、實(shí)時(shí)性好,用法也簡(jiǎn)單;eCOS調(diào)度方法豐富,適應(yīng)性好。當(dāng)然,目前的eCOS只允許在其目標(biāo)系統(tǒng)中使用一個(gè)單獨(dú)的調(diào)度器,未來(lái)的版本將可以允許多個(gè)調(diào)度器協(xié)同工作。

4.2 任務(wù)間同步、通信機(jī)制

RTOS的功能一般要通過(guò)若干任務(wù)和中斷服務(wù)程序共同完成,任務(wù)與任務(wù)之間、任務(wù)與中斷服務(wù)程序之間必須協(xié)調(diào)動(dòng)作,互相配合,這就牽涉到任務(wù)間的同步與通信問(wèn)題。表2為這兩種操作系統(tǒng)同步與通信機(jī)制的比較。

表2 同步與通信機(jī)制的比較

  uC/OS-II eCos
同步與通信機(jī)制 信號(hào)量、郵箱、消息隊(duì)列 互斥、條件變量、計(jì)數(shù)型信號(hào)量、郵箱和事件標(biāo)志

4.3 任務(wù)切換時(shí)間和中斷延遲時(shí)間

任務(wù)切換時(shí)間和中斷延遲時(shí)間是評(píng)估RTOS性能的兩個(gè)重要指標(biāo)。任務(wù)切換時(shí)間可以反映出RTOS執(zhí)行任務(wù)的速度,而中斷延遲時(shí)間可以反映出RTOS對(duì)外界變化的反應(yīng)速度。表3為這兩種操作系統(tǒng)任務(wù)切換時(shí)間和中斷延遲時(shí)間的比較。

表3 任務(wù)切換時(shí)間和中斷延遲時(shí)間的比較

  任務(wù)切換時(shí)間/us 中斷延遲時(shí)間/μs 測(cè)試環(huán)境
μC/OS-II 29.7~34.2 78.8 Intel80186(33MHz)
eCos 15.84 19.2 MPC860A3(33MHz)

4.4 對(duì)硬件的支持

μC/OS-II和eCOS支持當(dāng)前流行的大部分嵌入式CPU,都具有很好的可移植特性。μC/OS-II支持從8位到32位的CPU;而eCOS可以在16位、32位和64位等不同體系結(jié)構(gòu)之間移植。μC/OS-II和eCOS由于本身內(nèi)核就很小,經(jīng)過(guò)裁剪后的代碼最小可以分別為小于2KB和10KB,所需的最小數(shù)據(jù)RAM空間可以為4KB和10KB,因此它們對(duì)硬件的要求很低,具有極高的經(jīng)濟(jì)性。

結(jié)語(yǔ)

通過(guò)比較可以看到:μC/OS-II相對(duì)eCOS來(lái)說(shuō),源代碼最小很多,特別適合學(xué)習(xí)和研究。它最大的特點(diǎn)是小巧,適合應(yīng)用在一些RAM和ROM有限的小型嵌入式系統(tǒng)中,如單片機(jī)系統(tǒng)。ECOS最大的特點(diǎn)是配置靈活,適合于用在一些商業(yè)級(jí)或工業(yè)級(jí)的嵌入式系統(tǒng),如一些消費(fèi)電子、汽車領(lǐng)域等等。總之,選用什么樣的操作系統(tǒng),要根據(jù)目標(biāo)系統(tǒng)的硬件條件和用戶應(yīng)用程序的復(fù)雜度來(lái)確定。

 

------------

關(guān)于μC/OS-II系列軟件版權(quán)的說(shuō)明

Micrium 公司產(chǎn)品包括μC/OS-II,μC/GUI,uC/FS,μC/TCP-IP,μC/USB等。Micrium 公司提供嵌入式系統(tǒng)應(yīng)用方面的產(chǎn)品,并對(duì)其軟件擁有知識(shí)產(chǎn)權(quán)。Micrium花費(fèi)了大量的時(shí)間和財(cái)力為嵌入式領(lǐng)域提供高質(zhì)量的軟件產(chǎn)品。所有上述產(chǎn)品都以源代碼的形式提供給客戶,具有極大的適用性。產(chǎn)品不是免費(fèi)軟件,也不是開放源碼的軟件,因此,不能免費(fèi)使用,需要清楚的闡明μC/OS-II和系列的軟件不是開放源碼的免費(fèi)軟件,這是和Linux完全不一樣的。

開發(fā)和研究者可以通過(guò)購(gòu)買Micrium公司的Jean先生的μC/OS-II的書籍,而得到μC/OS-II源代碼,但是僅可以作為個(gè)人和學(xué)校學(xué)習(xí)使用,所有和μC/OS-II直接和間接相關(guān)的商業(yè)目的行為,必須購(gòu)買使用μC/OS-II及系列產(chǎn)品的商業(yè)授權(quán),包括芯片/單板/系統(tǒng)廠家的任何參考設(shè)計(jì),教學(xué)設(shè)備和最終的產(chǎn)品,如果沒(méi)有得到Micrium公司Jean先生簽字的合法授權(quán)都是不合法的使用, 這在μC/OS-II的書籍Micrium公司(www.micrium.com)和中國(guó)代理商-北京麥克泰軟件公司網(wǎng)站(www.bmrtech.com)上面中有明確規(guī)定。

Micrium公司其它軟件如μC/GUI,μC/FS,μC/TCP-IP,μC/USB 等的銷售模式與μC/OS-II不同,如果沒(méi)有購(gòu)買使用授權(quán),完全不可以擁有該源代碼,也不能將源代碼用于產(chǎn)品的設(shè)計(jì),培訓(xùn),教學(xué)和生產(chǎn)。

μC/OS-II, μC/GUI,μC/FS,μC/TCP-IP,μC/USB 等授權(quán)方式有:?jiǎn)蝹€(gè)產(chǎn)品、產(chǎn)品線(系列)、按照CPU 劃分的產(chǎn)品三種形式,μC/OS-KA,μC/OS-VIEW 等工具是按照使用人的數(shù)目收取費(fèi)用的,相對(duì)起傳統(tǒng)的RTOS 動(dòng)輒2-3萬(wàn)美圓的開發(fā)費(fèi)用和每塊單板的使用費(fèi)(根據(jù)數(shù)量從數(shù)百到幾個(gè)美圓),μC/OS-II及系列產(chǎn)品是采用一次性的收費(fèi)方式,應(yīng)該只是大約相當(dāng)于傳統(tǒng)RTOS 的10-20% 的總體費(fèi)用。

如果您正在將μC/OS-II系列軟件用于您的產(chǎn)品,您需要購(gòu)買并獲得正式使用授權(quán)。

北京麥克泰軟件技術(shù)有限公司

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉