基于ARM的11種嵌入式操作系統(tǒng)大盤點!
發(fā)布時間:2014-10-12 責(zé)任編輯:echolady
【導(dǎo)讀】嵌入式操作系統(tǒng)即用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式操作系統(tǒng)的職責(zé)是對軟硬件資源的分配和任務(wù)調(diào)度,以及協(xié)調(diào)并控制并發(fā)活動。嵌入式操作系統(tǒng)各有其所在系統(tǒng)的特征體現(xiàn),通過裝卸模塊來達(dá)到系統(tǒng)所需的功能。嵌入式系統(tǒng)共有硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層4層。
1、Android
Android 是一個包括操作系統(tǒng),中間件以及一些重要應(yīng)用程序的專門針對移動設(shè)備的層次結(jié)構(gòu)的軟件集。Android 作為一個完全開源的操作系統(tǒng),是由操作系統(tǒng)Linux、中間件以及核心應(yīng)用程序組成的軟件棧。通過 android SDK 提供的 API 以及相應(yīng)的開發(fā)工具, 程序員可以很方便的開發(fā)android平臺上的應(yīng)用程序。其整個系統(tǒng)由應(yīng)用程序,應(yīng)用程序框架,應(yīng)用程序庫,Android運行庫,Linux內(nèi)核(Linux Kernel)五個部分組成。Android操作系統(tǒng)內(nèi)置了一部分應(yīng)用程序, 包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用java編寫的。
移植的主要的工作是驅(qū)動,硬件抽象層的移植。為了更好地理解和調(diào)試系統(tǒng),也應(yīng)該適當(dāng)?shù)亓私馍蠈訉τ布橄髮拥恼{(diào)用情況。
2、嵌入式LINUX
嵌入式Linux 是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計算機系統(tǒng)上運行的一種操作系統(tǒng)。Linux做嵌入式的優(yōu)勢,首先,Linux是開放源代碼;其次,Linux的內(nèi)核小、效率高,可以定制,其系統(tǒng)內(nèi)核最小只有約134KB;第三,Linux是免費的OS,Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應(yīng)于多種CPU和多種硬件平臺而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。同時,Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,Linux對網(wǎng)絡(luò)中最常用的TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網(wǎng)絡(luò),以及無線網(wǎng)絡(luò),Token Ring(令牌環(huán)網(wǎng))、光纖甚至衛(wèi)星的支持。
移植步驟:1.Bootloader的移植;2.嵌入式Linux操作系統(tǒng)內(nèi)核的移植;3.嵌入式Linux操作系統(tǒng)根文件系統(tǒng)的創(chuàng)建;4.電路板上外設(shè)Linux驅(qū)動程序的編寫。
3、TinyOS
TinyOS是一個開源的嵌入式操作系統(tǒng),它是由加州大學(xué)的伯利克分校開發(fā)出來的,主要應(yīng)用于無線傳感器網(wǎng)絡(luò)方面。程序采用的是模塊化設(shè)計,所以它的程序核心往往都很小,一般來說核心代碼和數(shù)據(jù)大概在400 Bytes左右,能夠突破傳感器存儲資源少的限制。TinyOS提供一系列可重用的組件,一個應(yīng)用程序可以通過連接配置文件(A Wiring Specification)將各種組件連接起來,以完成它所需要的功能。
4、WinCE
WinCE是微軟公司嵌入式、移動計算平臺的基礎(chǔ),它是一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng),它是精簡的Windows 95,Win CE的圖形用戶界面相當(dāng)出色。WinCE是從整體上為有限資源的平臺設(shè)計的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計允許它對于從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。操作系統(tǒng)的基本內(nèi)核需要至少200K的ROM。
一般來說,一個WinCE系統(tǒng)包括四層結(jié)構(gòu):應(yīng)用程序、WinCE內(nèi)核映像、板級支持包(BSP)、硬件平臺。而基本軟件平臺則主要由WinCE系統(tǒng)內(nèi)核映像(OS Image)和板卡支持包(BSP)兩部分組成。因為WinCE系統(tǒng)是一個軟硬件緊密結(jié)合的系統(tǒng),因此即使CPU處理器相同,但是如果開發(fā)板上的外圍硬件不相同,這個時候還是需要修改BSP來完成一個新的BSP.因此換句話說,就是WinCE的移植過程主要是改寫B(tài)SP的過程。
5、μTenux
μTenux基于ARM微控制器平臺,對uT最適用于ARM Cortex M0-M4系列的微控制器,代碼開源、免費,是一個功能強大的搶占式實時多任務(wù)操作系統(tǒng)。μTenux除具有實時嵌入式操作系統(tǒng)的一般特性:可移植性,可固化,可裁剪等特性以外,它還具有如下優(yōu)點:(1)微內(nèi)核。無MMU, ROM/RAM占用量小,所占ROM最大60KB,最小10KB;RAM最大12KB,最小2KB;(2)開源免費;(3)支持所有32位ARM7/9和Cortex M系列的微控制器;(4)可配置多達(dá)到256個任務(wù)以及140個任務(wù)優(yōu)先級;(5)有良好的商業(yè)支持,T-Engine論壇進(jìn)行總的維護(hù)。
移植主要包括:芯片系統(tǒng)時鐘移植,外設(shè)移植和通用輸出/輸入端口的移植以及看門狗模塊移植。由于考慮到內(nèi)核代碼的重要性以及其在整個移植中的重要意義,且為了整個系統(tǒng)有更好的實時性,可選用匯編語言編寫操作系統(tǒng)的啟動代碼。
[page]
6、嵌入式實時操作系統(tǒng)(RTOS)
在工業(yè)控制、軍事設(shè)備、航空航天等領(lǐng)域?qū)ο到y(tǒng)的響應(yīng)時間有苛刻的要求,這就需要使用實時系統(tǒng)。當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運行的嵌入式操作系統(tǒng)。故對嵌入式實時操作系統(tǒng)的理解應(yīng)該建立在對嵌入式系統(tǒng)的理解之上加入對響應(yīng)時間的要求。
7、VxWorks
VxWorks系統(tǒng)提供多處理器間和任務(wù)間高效的信號燈、消息隊列、管道、網(wǎng)絡(luò)透明的套接字。實時系統(tǒng)的另一關(guān)鍵特性是硬件中斷處理。為了獲得最快速可靠的中斷響應(yīng),VxWorks系統(tǒng)的中斷服務(wù)程序ISR有自己的上下文。VxWorks實時操作系統(tǒng)由400多個相對獨立的、短小精煉的目標(biāo)模塊組成,用戶可根據(jù)需要選擇適當(dāng)模塊來裁剪和配置系統(tǒng),這有效地保證了系統(tǒng)的安全性和可靠性。系統(tǒng)的鏈接器可按應(yīng)用的需要自動鏈接一些目標(biāo)模塊。這樣,通過目標(biāo)模塊之間的按需組合,可得到許多滿足功能需求的應(yīng)用。
移植過程可以參考網(wǎng)絡(luò)上一些BSP代碼,BSP的英文全稱為board support package,即板級支持包,它的作用是針對特殊的硬件平臺,為VxWorks內(nèi)核提供操作的接口。
8、FreeRTOS
FreeRTOS是一個迷你操作系統(tǒng)內(nèi)核的小型嵌入式系統(tǒng)。作為一個輕量級的操作系統(tǒng),功能包括:任務(wù)管理、時間管理、信號量、消息隊列、內(nèi)存管理、記錄功能等,可基本滿足較小系統(tǒng)的需要。FreeRTOS任務(wù)可選擇是否共享堆棧,并且沒有任務(wù)數(shù)限制,多個任務(wù)可以分配相同的優(yōu)先權(quán)。相同優(yōu)先級任務(wù)的輪轉(zhuǎn)調(diào)度,同時可設(shè)成可剝奪內(nèi)核或不可剝奪內(nèi)核。
FreeRTOS 的移植主要需要改寫如下三個文件。1.portmacro.h 2.port.c 3. port.asm
9、eCos
eCos中文翻譯為嵌入式可配置操作系統(tǒng)或嵌入式可配置實時操作系統(tǒng)。適合于深度嵌入式應(yīng)用,主要應(yīng)用對象包括消費電子、電信、車載設(shè)備、手持設(shè)備以及其他一些低成本和便攜式應(yīng)用。eCos是一種開發(fā)源代碼軟件,無任何版權(quán)費用。 eCos最大的特點是模塊化,內(nèi)核可配置。如果說嵌入式Linux太龐大了,那么eCos可能就能夠滿足要求。它是一個針對16位、32位和64位處理器的可移植開放源代碼的嵌入式RTOS.和嵌入式Linux不同,它是由專門設(shè)計嵌入式系統(tǒng)的工作組設(shè)計的。eCos具有相當(dāng)豐富的特性和一個配置工具,后者能夠讓你選取你所需要的特性。
eCos的軟件分了若干的模塊,移植工作主要在他的hal層進(jìn)行,所謂hal(硬件抽象層)就是把和硬件相關(guān)的軟件湊到一起。
10、μClinux
嵌入式Linux作為一個開放源代碼的操作系統(tǒng),以價格低廉、功能強大又易移植的特性正在被廣泛應(yīng)用,μClinux是專門針對沒有MMU的處理器而設(shè)計的嵌入式Linux,非常適合中低端嵌入式系統(tǒng)的需求。 在GNU通用公共許可證的授權(quán)下,μClinux操作系統(tǒng)的用戶可以使用幾乎所有Linux的API函數(shù),不會因為沒有內(nèi)存管理單元MMU而受到影響;而且,μClinux在標(biāo)準(zhǔn)的Linux基礎(chǔ)上進(jìn)行了適當(dāng)?shù)牟眉艉蛢?yōu)化,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux,體積小了,但是仍然保留了Linux的大多數(shù)的優(yōu)點,比如穩(wěn)定性好、強大的網(wǎng)絡(luò)功能、良好的可移植性、完備的文件系統(tǒng)支持功能、以及標(biāo)準(zhǔn)豐富的應(yīng)用程序接口API等,可以支持類似ARM7TDMI等類型多的小巧玲瓏的中央處理器。
11、μC/OS-II
μC/OS-II是一個完整的、可移植、可固化、可裁剪的占先式實時多任務(wù)內(nèi)核。μC/OS-II絕大部分的代碼是用ANSI的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構(gòu)的微處理器使用。其結(jié)構(gòu)小巧簡潔且支持搶占式的多任務(wù)調(diào)度與管理。此實時操作系統(tǒng)管理任務(wù)數(shù)多達(dá)64個,且提供內(nèi)部程序存儲器管理、系統(tǒng)運行時間管理、多任務(wù)實時調(diào)度與管理等功能。由于它的作者占用和保留了8個任務(wù),所以留給用戶應(yīng)用程序最多可有56個任務(wù)。賦予各個任務(wù)的優(yōu)先級必須是不相同的。這意味著μC/OS-II不支持時間片輪轉(zhuǎn)調(diào)度法。μC/OS-II為每個任務(wù)設(shè)置獨立的堆棧空間,可以快速實現(xiàn)任務(wù)切換。
將μC/OS-II操作系統(tǒng)移植到目標(biāo)處理器上,需要從硬件和軟件兩方面來考慮。硬件方面,目標(biāo)處理器需滿足以下條件:
(1)處理器的C編譯器能產(chǎn)生可重入代碼;
(2)用C語言可以開/關(guān)中斷;
(3)處理器支持中斷,并且能夠產(chǎn)生定時中斷(通常在10~1000 Hz之間);
(4)處理器能夠支持容納一定量數(shù)據(jù)的硬件堆棧;
(5)處理器有將堆棧指針和其他寄存器讀出和存儲到堆棧或內(nèi)存中的指令。
軟件方面,主要是一些與處理器相關(guān)的代碼移植,其分布在OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM這3個不同的文件中。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計
- ADI電機運動控制解決方案 驅(qū)動智能運動新時代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 更高精度、更低噪音 GMCC美芝電子膨脹閥以創(chuàng)新?lián)屨夹袠I(yè)“制高點”
- 本立租完成近億元估值Pre-A輪融資,打造AI賦能的租賃服務(wù)平臺
- 中微公司成功從美國國防部中國軍事企業(yè)清單中移除
- 華邦電子白皮書:滿足歐盟無線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴散
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
共模電感
固態(tài)盤
固體繼電器
光傳感器
光電池
光電傳感器
光電二極管
光電開關(guān)
光電模塊
光電耦合器
光電器件
光電顯示
光繼電器
光控可控硅
光敏電阻
光敏器件
光敏三極管
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國防航空
過流保護(hù)器
過熱保護(hù)
過壓保護(hù)
焊接設(shè)備
焊錫焊膏
恒溫振蕩器
恒壓變壓器
恒壓穩(wěn)壓器