基于ARM的嵌入式操作系統(tǒng)概述
嵌入式操作系統(tǒng)(Embedded Operation System,EOS)是指用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動層、操作系統(tǒng)層和應用層,如下圖所示。嵌入式操作系統(tǒng)是負責嵌入式系統(tǒng)的全部軟、硬件資源的分配、任務調(diào)度,控制、協(xié)調(diào)并發(fā)活動。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達到系統(tǒng)所要求的功能,是一種用途廣泛的系統(tǒng)軟件。
嵌入式LINUX
嵌入式linux 是將日益流行的Linux操作系統(tǒng)進行裁剪修改,使之能在嵌入式計算機系統(tǒng)上運行的一種操作系統(tǒng)。 Linux做嵌入式的優(yōu)勢,首先,Linux是開放源代碼;其次,Linux的內(nèi)核小、效率高,可以定制,其系統(tǒng)內(nèi)核最小只有約134KB;第三,Linux是免費的OS,Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。同時,Linux內(nèi)核的結構在網(wǎng)絡方面是非常完整的,Linux對網(wǎng)絡中最常用的TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網(wǎng)絡,以及無線網(wǎng)絡,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.電路板上外設Linux驅(qū)動程序的編寫。
WinCE
WinCE是微軟公司嵌入式、移動計算平臺的基礎,它是一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設備操作系統(tǒng),它是精簡的Windows 95,Win CE的圖形用戶界面相當出色。WinCE是從整體上為有限資源的平臺設計的多線程、完整優(yōu)先權、多任務的操作系統(tǒng)。它的模塊化設計允許它對于從掌上電腦到專用的工業(yè)控制器的用戶電子設備進行定制。操作系統(tǒng)的基本內(nèi)核需要至少200K的ROM。
一般來說,一個WinCE系統(tǒng)包括四層結構:應用程序、WinCE內(nèi)核映像、板級支持包(BSP)、硬件平臺。而基本軟件平臺則主要由WinCE系統(tǒng)內(nèi)核映像(OS Image)和板卡支持包(BSP)兩部分組成。因為WinCE系統(tǒng)是一個軟硬件緊密結合的系統(tǒng),因此即使CPU處理器相同,但是如果開發(fā)板上的外圍硬件不相同,這個時候還是需要修改BSP來完成一個新的BSP。因此換句話說,就是WinCE的移植過程主要是改寫B(tài)SP的過程。
Android
Android是一個包括操作系統(tǒng),中間件以及一些重要應用程序的專門針對移動設備的層次結構的軟件集。Android作為一個完全開源的操作系統(tǒng),是由操作系統(tǒng)Linux、中間件以及核心應用程序組成的軟件棧。通過 android SDK 提供的 API 以及相應的開發(fā)工具, 程序員可以很方便的開發(fā)android平臺上的應用程序。其整個系統(tǒng)由應用程序,應用程序框架,應用程序庫,Android運行庫,Linux內(nèi)核(Linux Kernel)五個部分組成。Android操作系統(tǒng)內(nèi)置了一部分應用程序, 包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用java編寫的。
移植的主要的工作是驅(qū)動,硬件抽象層的移植。為了更好地理解和調(diào)試系統(tǒng),也應該適當?shù)亓私馍蠈訉τ布橄髮拥恼{(diào)用情況。
TinyOS
TinyOS是一個開源的嵌入式操作系統(tǒng),它是由加州大學的伯利克分校開發(fā)出來的,主要應用于無線傳感器網(wǎng)絡方面。程序采用的是模塊化設計,所以它的程序核心往往都很小,一般來說核心代碼和數(shù)據(jù)大概在400 Bytes左右,能夠突破傳感器存儲資源少的限制。TinyOS提供一系列可重用的組件,一個應用程序可以通過連接配置文件(A Wiring Specification)將各種組件連接起來,以完成它所需要的功能。
嵌入式實時操作系統(tǒng)(RTOS)
在工業(yè)控制、 軍事設備、航空航天等領域?qū)ο到y(tǒng)的響應時間有苛刻的要求,這就需要使用實時系統(tǒng)。當外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應,并控制所有實時任務協(xié)調(diào)一致運行的嵌入式操作系統(tǒng)。故對嵌入式實時操作系統(tǒng)的理解應該建立在對嵌入式系統(tǒng)的理解之上加入對響應時間的要求。