基于ARM的11種嵌入式操作系統(tǒng)大盤點
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運(yùn)行庫,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)行裁剪修改,使之能在嵌入式計算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。Linux做嵌入式的優(yōu)勢,首先,Linux是開放源代碼;其次,Linux的內(nèi)核小、效率高,可以定制,其系統(tǒng)內(nèi)核最小只有約134KB;第三,Linux是免費(fèi)的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系列的微控制器,代碼開源、免費(fèi),是一個功能強(qiáng)大的搶占式實時多任務(wù)操作系統(tǒng)。μTenux除具有實時嵌入式操作系統(tǒng)的一般特性:可移植性,可固化,可裁剪等特性以外,它還具有如下優(yōu)點:(1)微內(nèi)核。無MMU, ROM/RAM占用量小,所占ROM最大60KB,最小10KB;RAM最大12KB,最小2KB;(2)開源免費(fèi);(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)的啟動代碼。