你的位置:首頁 > 測試測量 > 正文

基于ARM的11種嵌入式操作系統(tǒng)大盤點!

發(fā)布時間:2014-10-12 責任編輯:echolady

【導讀】嵌入式操作系統(tǒng)即用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式操作系統(tǒng)的職責是對軟硬件資源的分配和任務調度,以及協(xié)調并控制并發(fā)活動。嵌入式操作系統(tǒng)各有其所在系統(tǒng)的特征體現(xiàn),通過裝卸模塊來達到系統(tǒng)所需的功能。嵌入式系統(tǒng)共有硬件層、驅動層、操作系統(tǒng)層和應用層4層。

1、Android
  
Android 是一個包括操作系統(tǒng),中間件以及一些重要應用程序的專門針對移動設備的層次結構的軟件集。Android 作為一個完全開源的操作系統(tǒng),是由操作系統(tǒng)Linux、中間件以及核心應用程序組成的軟件棧。通過 android SDK 提供的 API 以及相應的開發(fā)工具, 程序員可以很方便的開發(fā)android平臺上的應用程序。其整個系統(tǒng)由應用程序,應用程序框架,應用程序庫,Android運行庫,Linux內核(Linux Kernel)五個部分組成。Android操作系統(tǒng)內置了一部分應用程序, 包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序,值得一提的是這些所有的程序都是用java編寫的。
  
移植的主要的工作是驅動,硬件抽象層的移植。為了更好地理解和調試系統(tǒng),也應該適當?shù)亓私馍蠈訉τ布橄髮拥恼{用情況。
 
2、嵌入式LINUX
  
嵌入式Linux 是將日益流行的Linux操作系統(tǒng)進行裁剪修改,使之能在嵌入式計算機系統(tǒng)上運行的一種操作系統(tǒng)。Linux做嵌入式的優(yōu)勢,首先,Linux是開放源代碼;其次,Linux的內核小、效率高,可以定制,其系統(tǒng)內核最小只有約134KB;第三,Linux是免費的OS,Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。同時,Linux內核的結構在網絡方面是非常完整的,Linux對網絡中最常用的TCP/IP協(xié)議有最完備的支持。提供了包括十兆、百兆、千兆的以太網絡,以及無線網絡,Token Ring(令牌環(huán)網)、光纖甚至衛(wèi)星的支持。
  
移植步驟:1.Bootloader的移植;2.嵌入式Linux操作系統(tǒng)內核的移植;3.嵌入式Linux操作系統(tǒng)根文件系統(tǒng)的創(chuàng)建;4.電路板上外設Linux驅動程序的編寫。
 
3、TinyOS
  
TinyOS是一個開源的嵌入式操作系統(tǒng),它是由加州大學的伯利克分校開發(fā)出來的,主要應用于無線傳感器網絡方面。程序采用的是模塊化設計,所以它的程序核心往往都很小,一般來說核心代碼和數(shù)據大概在400 Bytes左右,能夠突破傳感器存儲資源少的限制。TinyOS提供一系列可重用的組件,一個應用程序可以通過連接配置文件(A Wiring Specification)將各種組件連接起來,以完成它所需要的功能。
 
4、WinCE
  
WinCE是微軟公司嵌入式、移動計算平臺的基礎,它是一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設備操作系統(tǒng),它是精簡的Windows 95,Win CE的圖形用戶界面相當出色。WinCE是從整體上為有限資源的平臺設計的多線程、完整優(yōu)先權、多任務的操作系統(tǒng)。它的模塊化設計允許它對于從掌上電腦到專用的工業(yè)控制器的用戶電子設備進行定制。操作系統(tǒng)的基本內核需要至少200K的ROM。
  
一般來說,一個WinCE系統(tǒng)包括四層結構:應用程序、WinCE內核映像、板級支持包(BSP)、硬件平臺。而基本軟件平臺則主要由WinCE系統(tǒng)內核映像(OS Image)和板卡支持包(BSP)兩部分組成。因為WinCE系統(tǒng)是一個軟硬件緊密結合的系統(tǒng),因此即使CPU處理器相同,但是如果開發(fā)板上的外圍硬件不相同,這個時候還是需要修改BSP來完成一個新的BSP.因此換句話說,就是WinCE的移植過程主要是改寫B(tài)SP的過程。
 
5、μTenux
  
μTenux基于ARM微控制器平臺,對uT最適用于ARM Cortex M0-M4系列的微控制器,代碼開源、免費,是一個功能強大的搶占式實時多任務操作系統(tǒng)。μTenux除具有實時嵌入式操作系統(tǒng)的一般特性:可移植性,可固化,可裁剪等特性以外,它還具有如下優(yōu)點:(1)微內核。無MMU, ROM/RAM占用量小,所占ROM最大60KB,最小10KB;RAM最大12KB,最小2KB;(2)開源免費;(3)支持所有32位ARM7/9和Cortex M系列的微控制器;(4)可配置多達到256個任務以及140個任務優(yōu)先級;(5)有良好的商業(yè)支持,T-Engine論壇進行總的維護。
 
移植主要包括:芯片系統(tǒng)時鐘移植,外設移植和通用輸出/輸入端口的移植以及看門狗模塊移植。由于考慮到內核代碼的重要性以及其在整個移植中的重要意義,且為了整個系統(tǒng)有更好的實時性,可選用匯編語言編寫操作系統(tǒng)的啟動代碼。
[page]
 
6、嵌入式實時操作系統(tǒng)(RTOS)
  
在工業(yè)控制、軍事設備、航空航天等領域對系統(tǒng)的響應時間有苛刻的要求,這就需要使用實時系統(tǒng)。當外界事件或數(shù)據產生時,能夠接受并以足夠快的速度予以處理,其處理的結果又能在規(guī)定的時間之內來控制生產過程或對處理系統(tǒng)作出快速響應,并控制所有實時任務協(xié)調一致運行的嵌入式操作系統(tǒng)。故對嵌入式實時操作系統(tǒng)的理解應該建立在對嵌入式系統(tǒng)的理解之上加入對響應時間的要求。
 
7、VxWorks
  
VxWorks系統(tǒng)提供多處理器間和任務間高效的信號燈、消息隊列、管道、網絡透明的套接字。實時系統(tǒng)的另一關鍵特性是硬件中斷處理。為了獲得最快速可靠的中斷響應,VxWorks系統(tǒng)的中斷服務程序ISR有自己的上下文。VxWorks實時操作系統(tǒng)由400多個相對獨立的、短小精煉的目標模塊組成,用戶可根據需要選擇適當模塊來裁剪和配置系統(tǒng),這有效地保證了系統(tǒng)的安全性和可靠性。系統(tǒng)的鏈接器可按應用的需要自動鏈接一些目標模塊。這樣,通過目標模塊之間的按需組合,可得到許多滿足功能需求的應用。
  
移植過程可以參考網絡上一些BSP代碼,BSP的英文全稱為board support package,即板級支持包,它的作用是針對特殊的硬件平臺,為VxWorks內核提供操作的接口。
 
8、FreeRTOS
  
FreeRTOS是一個迷你操作系統(tǒng)內核的小型嵌入式系統(tǒng)。作為一個輕量級的操作系統(tǒng),功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統(tǒng)的需要。FreeRTOS任務可選擇是否共享堆棧,并且沒有任務數(shù)限制,多個任務可以分配相同的優(yōu)先權。相同優(yōu)先級任務的輪轉調度,同時可設成可剝奪內核或不可剝奪內核。
  
FreeRTOS 的移植主要需要改寫如下三個文件。1.portmacro.h 2.port.c 3. port.asm
 
9、eCos
  
eCos中文翻譯為嵌入式可配置操作系統(tǒng)或嵌入式可配置實時操作系統(tǒng)。適合于深度嵌入式應用,主要應用對象包括消費電子、電信、車載設備、手持設備以及其他一些低成本和便攜式應用。eCos是一種開發(fā)源代碼軟件,無任何版權費用。 eCos最大的特點是模塊化,內核可配置。如果說嵌入式Linux太龐大了,那么eCos可能就能夠滿足要求。它是一個針對16位、32位和64位處理器的可移植開放源代碼的嵌入式RTOS.和嵌入式Linux不同,它是由專門設計嵌入式系統(tǒng)的工作組設計的。eCos具有相當豐富的特性和一個配置工具,后者能夠讓你選取你所需要的特性。
  
eCos的軟件分了若干的模塊,移植工作主要在他的hal層進行,所謂hal(硬件抽象層)就是把和硬件相關的軟件湊到一起。
 
10、μClinux
  
嵌入式Linux作為一個開放源代碼的操作系統(tǒng),以價格低廉、功能強大又易移植的特性正在被廣泛應用,μClinux是專門針對沒有MMU的處理器而設計的嵌入式Linux,非常適合中低端嵌入式系統(tǒng)的需求。 在GNU通用公共許可證的授權下,μClinux操作系統(tǒng)的用戶可以使用幾乎所有Linux的API函數(shù),不會因為沒有內存管理單元MMU而受到影響;而且,μClinux在標準的Linux基礎上進行了適當?shù)牟眉艉蛢?yōu)化,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux,體積小了,但是仍然保留了Linux的大多數(shù)的優(yōu)點,比如穩(wěn)定性好、強大的網絡功能、良好的可移植性、完備的文件系統(tǒng)支持功能、以及標準豐富的應用程序接口API等,可以支持類似ARM7TDMI等類型多的小巧玲瓏的中央處理器。
 
11、μC/OS-II
  
μC/OS-II是一個完整的、可移植、可固化、可裁剪的占先式實時多任務內核。μC/OS-II絕大部分的代碼是用ANSI的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構的微處理器使用。其結構小巧簡潔且支持搶占式的多任務調度與管理。此實時操作系統(tǒng)管理任務數(shù)多達64個,且提供內部程序存儲器管理、系統(tǒng)運行時間管理、多任務實時調度與管理等功能。由于它的作者占用和保留了8個任務,所以留給用戶應用程序最多可有56個任務。賦予各個任務的優(yōu)先級必須是不相同的。這意味著μC/OS-II不支持時間片輪轉調度法。μC/OS-II為每個任務設置獨立的堆??臻g,可以快速實現(xiàn)任務切換。
  
將μC/OS-II操作系統(tǒng)移植到目標處理器上,需要從硬件和軟件兩方面來考慮。硬件方面,目標處理器需滿足以下條件:
(1)處理器的C編譯器能產生可重入代碼;
(2)用C語言可以開/關中斷;
(3)處理器支持中斷,并且能夠產生定時中斷(通常在10~1000 Hz之間);
(4)處理器能夠支持容納一定量數(shù)據的硬件堆棧;
(5)處理器有將堆棧指針和其他寄存器讀出和存儲到堆?;騼却嬷械闹噶?。
  
軟件方面,主要是一些與處理器相關的代碼移植,其分布在OS_CPU.H、OS_CPU_C.C和OS_CPU_A.ASM這3個不同的文件中。

相關閱讀:

一種利用實時時鐘降低嵌入式系統(tǒng)功耗的方法
適合嵌入式系統(tǒng)需求的小功率開關電源的設計
利用MEMS和MR傳感器在嵌入式系統(tǒng)姿態(tài)中的測量
要采購傳感器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關 壓敏電阻 揚聲器 遙控開關 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關閉

?

關閉