嵌入式操作系統

用於嵌入式系統的操作系統

嵌入式操作系統(Embedded Operating System,簡稱:EOS)是指用於嵌入式系統的操作系統。嵌入式操作系統是一種用途廣泛的系統軟體,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動介面、通信協議、圖形界面、標準化瀏覽器等。嵌入式操作系統負責嵌入式系統的全部軟、硬體資源的分配、任務調度,控制、協調併發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前在嵌入式領域廣泛使用的操作系統有:嵌入式實時操作系統µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks等,以及應用在智能手機和平板電腦的Android、iOS等。

分類


嵌入式操作系統
嵌入式操作系統
從硬體和軟體進行劃分。
基於硬體
嵌入式微處理器(Micro Processor Unit,MPU)
嵌入式微處理器是由通用計算機中的CPU演變而來的。它的特徵是具有32位以上的處理器,具有較高的性能,當然其價格也相應較高。但與計算機處理器不同的是,在實際嵌入式應用中,只保留和嵌入式應用緊密相關的功能硬體,去除其他的冗餘功能部分,這樣就以最低的功耗和資源實現嵌入式應用的特殊要求。和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。主要的嵌入式處理器類型有Am186/88、386EX、SC-400、Power PC、68000、MIPSARM/ StrongARM系列等。
其中Arm/StrongArm是專為手持設備開發的嵌入式微處理器,屬於中檔的價位。
嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式操作系統
嵌入式操作系統
由於MCU低廉的價格,優良的功能,所以擁有的品種和數量最多,比較有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,並且有支持I2C、CAN-Bus、LCD及眾多專用MCU和兼容系列,MCU占嵌入式系統約70%的市場份額,Atmel出產的Avr單片機由於其集成了FPGA等器件,所以具有很高的性價比,勢必將推動單片機獲得更高的發展。
嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)
DSP處理器是專門用於信號處理方面的處理器,其在系統結構和指令演演算法方面進行了特殊設計,具有很高的編譯效率和指令的執行速度。在數字濾波、FFT、譜分析等各種儀器上DSP獲得了大規模的應用。
DSP的理論演演算法在70年代就已經出現,但是由於專門的DSP處理器還未出現,所以這種理論演演算法只能通過MPU等由分立元件實現。MPU較低的處理速度無法滿足DSP的演演算法要求,其應用領域僅僅局限於一些尖端的高科技領域。隨著大規模集成電路技術發展,1982年世界上誕生了首枚DSP晶元。其運算速度比MPU快了幾十倍,在語音合成和編碼解碼器中得到了廣泛應用。至80年代中期,隨著CMOS技術的進步與發展,第二代基於CMOS工藝的DSP晶元應運而生,其存儲容量和運算速度都得到成倍提高,成為語音處理、圖像硬體處理技術的基礎。到80年代後期,DSP的運算速度進一步提高,應用領域也從上述範圍擴大到了通信和計算機方面。90年代后,DSP發展到了第五代產品,集成度更高,使用範圍也更加廣闊。
最為廣泛應用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的應用範圍。
嵌入式片上系統(System On Chip)
SoC追求產品系統最大包容的集成器件,是嵌入式應用領域的熱門話題之一。SOC最大的特點是成功實現了軟硬體無縫結合,直接在處理器片內嵌入操作系統的代碼模塊。而且SOC具有極高的綜合性,在一個矽片內部運用VHDL等硬體描述語言,實現一個複雜的系統。用戶不需要再像傳統的系統設計一樣,繪製龐大複雜的電路板,一點點的連接焊制,只需要使用精確的語言,綜合時序設計直接在器件庫中調用各種通用處理器的標準,然後通過模擬之後就可以直接交付晶元廠商進行生產。由於絕大部分系統構件都是在系統內部,整個系統就特別簡潔,不僅減小了系統的體積和功耗,而且提高了系統的可靠性,提高了設計生產效率。
由於SOC往往是專用的,所以大部分都不為用戶所知,比較典型的SOC產品是Philips的Smart XA。少數通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola聯合研製的Neuron晶元等。
預計不久的將來,一些大的晶元公司將通過推出成熟的、能佔領多數市場的SOC晶元,一舉擊退競爭者。SOC晶元也將在聲音、圖像、影視、網路及系統邏輯等應用領域中發揮重要作用。
基於軟體
從軟體方面劃分,主要可以依據操作系統的類型。嵌入式系統的軟體主要有兩大類:實時系統和分時系統。其中實時系統又分為兩類:硬實時系統和軟實時系統。
實時嵌入系統是為執行特定功能而設計的,可以嚴格的按時序執行功能。其最大的特徵就是程序的執行具有確定性。在實時系統中,如果系統在指定的時間內未能實現某個確定的任務,會導致系統的全面失敗,則系統被稱為硬實時系統。而在軟實時系統中,雖然響應時間同樣重要,但是超時卻不會導致致命錯誤。一個硬實時系統往往在硬體上需要添加專門用於時間和優先順序管理的控制晶元,而軟實時系統則主要在軟體方面通過編程實現時限的管理。比如Windows CE就是一個多任務分時系統,而Ucos-II則是典型的實時操作系統。

特點


嵌入式操作系統
嵌入式操作系統
(1)可裝卸性。開放性、可伸縮性的體系結構。
(2)強實時性。EOS實時性一般較強,可用於各種設備控制當中。
(3)統一的介面。提供各種設備驅動接日。
(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用。
(5)提供強大的網路功能,支持TCP/IP協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面。
(6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS臭有較強的穩定性。嵌入式操作系統的用戶接日一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。
(7)固化代碼。在嵌入系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統。
(8)更好的硬體適應性,也就是良好的移植性。國際上用於信息電器的嵌入式操作系統有40種左右。現在,市場上非常流行的EOS產品,包括3Corn公司下屬子公司的Palm OS,全球佔有份額達50%,MicroS。fi公司的Wind。ws CE不過29%。在美國市場,Palm OS更以80%的佔有率遠超Windows CE。開放源代碼的Linux很適於做信息家電的開發。
比如:中科紅旗軟體技術有限公司開發的紅旗嵌入式Linux和美商網虎公司開發的基於Xlinux的嵌人式操作系統“夸克"。“夸克”是目前全世界最小的Linux,它有兩個很突出的特點,就是體積小和使用GCS編碼。

常用系統


嵌入式操作系統
嵌入式操作系統
其實,嵌入式系統並不是一個新生的事物,從二十世紀八十年代起,國際上就有一些IT組織、公司,開始進行商用嵌入式系統和專用操作系統的研發。這其中湧現了一些著名的嵌入式系統:
Windows CE
Microsoft Windows CE是從整體上為有限資源的平台設計的多線程、完整優先權、多任務的操作系統。它的模塊化設計允許它對於從掌上電腦到專用的工業控制器的用戶電子設備進行定製。操作系統的基本內核需要至少200K的ROM。
VxWorks
VxWorks是目前嵌入式系統領域中使用最廣泛、市場佔有率最高的系統。它支持多種處理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS RX000、POWER PC等等。大多數的VxWorks API是專有的。採用GNU的編譯和調試器。 pSOS
ISI公司已經被WinRiver公司兼并,現在pSOS屬於WindRiver公司的產品。這個系統是一個模塊化、高性能的實時操作系統,專為嵌入式微處理器設計,提供一個完全多任務環境,在定製的或是商業化的硬體上提供高性能和高可靠性。可以讓開發者根據操作系統的功能和內存需求定製成每一個應用所需的系統。開發者可以利用它來實現從簡單的單個獨立設備到複雜的、網路化的多處理器系統。
QNX
QNX是一個實時的、可擴充的操作系統,它部分遵循POSIX相關標準,如:POSIX.1b實時擴展。它提供了一個很小的微內核以及一些可選的配合進程。其內核僅提供4種服務:進程調度、進程間通信、底層網路通信和中斷處理,其進程在獨立的地址空間運行。所有其它OS服務,都實現為協作的用戶進程,因此QNX內核非常小巧(QNX4.x大約為12Kb)而且運行速度極快。這個靈活的結構可以使用戶根據實際的需求,將系統配置成微小的嵌入式操作系統或是包括幾百個處理器的超級虛擬機操作系統。
Palm OS
Palm OS是Palm公司開發的專用於PDA上的一種操作系統,這是PDA上的霸主,一度普佔據了90%的PDA市場的份額。雖然其並不專門針對於手機設計,但是Palm OS的優秀性和對移動設備的支持同樣使其能夠成為一個優秀的手機操作系統。其最新的版本為Palm OS 5.2。目前具有手機功能的Palm PDA如Palm公司的Tungsten W。而Handspring公司(目前已被Palm公司收購)的Treo系列則是專門使用Palm OS的手機,如Treo 270以及最新的倍受矚目的Treo 650。 Palm OS是一種32位的嵌入式操作系統,用於掌上電腦。此系統是3Com公司的Palm Computing 部開發的。(Palm Computing目前已經獨立成一家公司。) Palm OS與同步軟體HotSync結合可以使掌上電腦與PC機上的信息實現同步,把台式機的 功能擴展到了手掌上。目前,基於Palm OS的掌上電腦主要是3Com的系列產品,如Palm IIIx,Palm V,Palm VII, IBM workpad c3用的也是Palm OS。Sony等公司也獲得了Palm Computing的許可,將開發 基於Palm OS的掌上電腦。
OS-9
嵌入式操作系統
嵌入式操作系統
Microwave的OS-9是為微處理器的關鍵實時任務而設計的操作系統,廣泛應用於高科技產品中,包括消費電子產品、工業自動化、無線通訊產品、醫療儀器、數字電視/多媒體設備。它提供了很好的安全性和容錯性。與其他的嵌入式系統相比,它的靈活性和可升級性非常突出。
LynxOS
Lynx Real-time Systems的LynxOS是一個分散式、嵌入式、可規模擴展的實時操作系統,它遵循POSIX.1a、POSIX.1b和POSIX.1c標準。LynxOS支持線程概念,提供256個全局用戶線程優先順序;提供一些傳統的、非實時系統的服務特徵;包括基於調用需求的虛擬內存,一個基於Motif的用戶圖形界面,與工業標準兼容的網路系統以及應用開發工具。合璧操作系統(HybridOS)
合璧操作系統(HybridOS)是一整套專為嵌入式設備打造的快速開發平台,包括嵌入式圖形支持系統(MiniGUI)、嵌入式瀏覽器系統(mDolphin)、嵌入式Java系統(mPeer)、所見即所得的可視化集成開發平台(mStudio),使眾多的希望在嵌入式設備上做開發的中小型企業,可以擺脫“不穩定的內核以及驅動程序”、“交叉編譯工具鏈、基礎函數庫存在大量缺陷”、”不恰當的開源軟體“、“高水平嵌入式開發工程師缺乏”等這些問題的困擾,從而能夠在一個運行穩定、功能強大的小巧系統內核基礎上,專註開發產品。合璧操作系統(HybridOS)採用新的商業授權模式,性價比頗高。
目前,世面上有很多商業性嵌入式系統都在努力地為自己爭取著嵌入式市場的份額。但是,這些專用操作系統均屬於商業化產品,價格昂貴;而且,由於它們各自的源代碼不公開,使得每個系統上的應用軟體與其它系統都無法兼容。並且,由於這種封閉性還導致了商業嵌入式系統在對各種設備的支持方面存在很大的問題,使得對它們的軟體移植變得很困難。在嵌入式這個IT產業的新的關鍵領域,Linux操作系統適時地出現在了國家和國內各嵌入式廠商面前,由於Linux自身諸多優勢,吸引了許多開發商的目光,成為嵌入式操作系統的新寵。它的出現無疑為國家發展嵌入式操作系統事業提供了一個極有吸引力的機會。
μTenux
uC/OS II
RT-thread
uCLinux
FreeRTOS
RTX
Arm-Linux
VxWorks
RTEMS
pSOS
Nucleus
PalmOS
Windows CE
Windows XP Embedded
Windows Vista Embedded
嵌入式Linux
ECOS
QNX
Lynx
Symbian
HOPEN OS
Android
Maemo
Meego

應用示例


嵌入式操作系統
嵌入式操作系統
工業控制
基於嵌入式晶元的工業自動化設備將獲得長足的發展,已經有大量的8、16、32 位嵌入式微控制器在應用中,網路化是提高生產效率和產品質量、減少人力資源主要途徑,如工業過程式控制制、數字機床、電力系統、電網安全、電網設備監測、石油化工系統。就傳統的工業控制產品而言,低端型採用的往往是8位單片機。但是隨著技術的發展,32位、64位的處理器逐漸成為工業控制設備的核心,在未來幾年內必將獲得長足的發展。
嵌入式操作系統
嵌入式操作系統
在車輛導航、流量控制、信息監測與汽車服務方面,嵌入式系統技術已經獲得了廣泛的應用,內嵌GPS模塊,GSM模塊的移動定位終端已經在各種運輸行業獲得了成功的使用。GPS設備已經從尖端產品進入了普通百姓的家庭,只需要幾千元,就可以隨時隨地找到你的位置。
信息家電
這將稱為嵌入式系統最大的應用領域,冰箱、空調等的網路化、智能化將引領人們的生活步入一個嶄新的空間。即使你不在家裡,也可以通過電話線、網路進行遠程控制。在這些設備中,嵌入式系統將大有用武之地。
家庭智能管理
水、電、煤氣表的遠程自動抄表,安全防火、防盜系統,其中嵌有的專用控制晶元將代替傳統的人工檢查,並實現更高,更準確和更安全的性能。在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。
POS網路
公共交通無接觸智能卡(Contactless Smartcard, CSC)發行系統,公共電話卡發行系統,自動售貨機,各種智能ATM終端將全面走入人們的生活,到時手持一卡就可以行遍天下。
環境工程與自然
水文資料實時監測,防洪體系及水土質量監測、堤壩安全,地震監測網,實時氣象信息網,水源和空氣污染監測。在很多環境惡劣,地況複雜的地區,嵌入式系統將實現無人監測。
機器人
嵌入式晶元的發展將使機器人在微型化,高智能方面優勢更加明顯,同時會大幅度降低機器人的價格,使其在工業領域和服務領域獲得更廣泛的應用。
這些應用中,可以著重於在控制方面的應用。就遠程家電控制而言,除了開發出支持TCP/IP的嵌入式系統之外,家電產品控制協議也需要制訂和統一,這需要家電生產廠家來做。同樣的道理,所有基於網路的遠程控制器件都需要與嵌入式系統之間實現介面,然後再由嵌入式系統來控制並通過網路實現控制。所以,開發和探討嵌入式系統有著十分重要的意義。
機電產品應用
相對於其他的領域,機電產品可以說是嵌入式系統應用最典型最廣泛的領域之一。單片機到工控機、SOC在各種機電產品中均有著巨大的市場。
移動網際網路領域
移動網際網路領域很多也需要嵌入式開發技術

詞條


傲游瀏覽器雲計算視頻點播WINDOWS SERVER 2003編譯原理混合交火
系統漏洞DNS量子計算機WINDOWS操作系統火星文程序員
嵌入式操作系統UBUNTU人工智慧谷歌CHROMRE廣播風暴播客
網路管理員龍芯計算機語言千年蟲支付寶搜素引擎
第三方支付 DOS攻擊MAC地址國家頂級域名數據安全音頻

歷史


事實上,在很早以前,嵌入式這個概念就已經存在了。在通信方面,嵌入式系統在20世紀60年代就用於對電子機械電話交換的控制,當時被稱為“存儲式程序控制系統”(Stored Program Control)。
嵌入式計算機的真正發展是在微處理器問世之後。1971年11月,Intel公司成功地把算術運算器和控制器電路集成在一起,推出了第一款微處理器Intel 4004,其後各廠家陸續推出了許多8位、16位的微處理器,包括Intel 8080/8085、8086,Motorola 的6800、68000,以及Zilog的Z80、Z8000等。以這些微處理器作為核心所構成的系統,廣泛地應用於儀器儀錶、醫療設備、機器人、家用電器等領域。微處理器的廣泛應用形成了一個廣闊的嵌入式應用市場,計算機廠家開始大量地以插件方式向用戶提供OEM產品,再由用戶根據自己的需要選擇一套適合的CPU板、存儲器板以及各式I/O插件板,從而構成專用的嵌入式計算機系統,並將其嵌入到自己的系統設備中。
為靈活兼容考慮,出現了系列化、模塊化的單板機。流行的單板計算機有Intel公司的iSBC系列、Zilog公司的MCB等。後來人們可以不必從選擇晶元開始來設計一台專用的嵌入式計算機,而是只要選擇各功能模塊,就能夠組建一台專用計算機系統。用戶和開發者都希望從不同的廠家選購最適合的OEM產品,插入外購或自製的機箱中就形成新的系統,這樣就希望插件是互相兼容的,也就導致了工業控制微機系統匯流排的誕生。1976年Intel公司推出Multibus,1983年擴展為帶寬達40MB/s的MultibusⅡ。1978年由Prolog設計的簡單STD匯流排廣泛應用於小型嵌入式系統。
20世紀80年代可以說是各種匯流排層出不窮、群雄並起的時代。隨著微電子工藝水平的提高,集成電路製造商開始把嵌入式應用中所需要的微處理器、I/O介面、A/D、D/A轉換、串列介面以及RAM、ROM等部件統統集成到一個VLSI中,從而製造出面向I/O設計的微控制器,也就是我們俗稱的單片機,成為嵌入式計算機系統異軍突起的一支新秀。其後發展的DSP產品則進一步提升了嵌入式計算機系統的技術水平,並迅速地滲入到消費電子、醫用電子、智能控制、通信電子、儀器儀錶、交通運輸等各種領域。
20世紀90年代,在分佈控制、柔性製造、數字化通信和信息家電等巨大需求的牽引下,嵌入式系統進一步加速發展。面向實時信號處理演演算法的DSP產品向著高速、高精度、低功耗發展。Texas推出的第三代DSP晶元TMS320C30,引導著微控制器向32位高速智能化發展。在應用方面,掌上電腦、手持PC機、機頂盒技術相對成熟,發展也較為迅速。特別是掌上電腦,1997年在美國市場上掌上電腦不過四五個品牌,而1998年底,各式各樣的掌上電腦如雨後春筍般紛紛湧現出來。此外,Nokia推出了智能電話,西門子推出了機頂盒,Wyse推出了智能終端,NS推出了WebPAD。裝載在汽車上的小型電腦,不但可以控制汽車內的各種設備(如音響等),還可以與GPS連接,從而自動操控汽車。
21世紀無疑是一個網路的時代,使嵌入式計算機系統應用到各類網路中去也必然是嵌入式系統發展的重要方向。

組成


硬體層
硬體層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上添加電源電路、時鐘電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中。
嵌入式微處理器
嵌入式操作系統
嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定用戶群所專用設計的系統中,它將通用CPU許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。
嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reduced Instruction Set Computer,RISC)和複雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保數據通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率數據匯流排寬度,或集成了不同的外設和介面。據不完全統計,全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。
存儲器
嵌入式系統需要存儲器來存放和執行代碼。嵌入式系統的存儲器包含Cache、主存和輔助存儲器。
1)Cache
Cache是一種容量小、速度快的存儲器陣列它位於主存和嵌入式微處理器內核之間,在需要進行數據讀取操作時,微處理器儘可能的從Cache中讀取數據,而不是從主存中讀取,這樣就大大改善了系統的性能,提高了微處理器和主存之間的數據傳輸速率。Cache的主要目標就是:減小存儲器(如主存和輔助存儲器)給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快,實時性更強。
在嵌入式系統中Cache全部集成在嵌入式微處理器內,可分為數據Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache集成進去。
2)主存
主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統和用戶的程序及數據。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片內存儲器容量小,速度快,片外存儲器容量大。
常用作主存的存儲器有:
ROM類 NOR Flash、EPROM和PROM等。
RAM類 SRAM、DRAM和SDRAM等。
其中NOR Flash 憑藉其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。
3)輔助存儲器
輔助存儲器用來存放大數據量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長期保存用戶的信息。嵌入式系統中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。
通用設備介面和I/O介面
嵌入式系統和外界交互需要一定形式的通用設備介面,如A/D、D/A、I/O等,外設通過和片外其他設備的或感測器的連接來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶元外也可以內置晶元中。外設的種類很多,可從一個簡單的串列通信設備到非常複雜的802.11無線設備。
嵌入式系統中常用的通用設備介面有A/D(模/數轉換介面)、D/A(數/模轉換介面),I/O介面有RS-232介面串列通信介面)、Ethernet(乙太網介面)、USB(通用串列匯流排介面)、音頻介面、VGA視頻輸出介面、I2C(現場匯流排)、SPI(串列外圍設備介面)和IrDA(紅外線介面)等。
中間層
硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支持包(Board Support Package,BSP),它將系統上層軟體(應用程序)與底層硬體分離開來,使系統的底層驅動程序與上層無關,上層軟體開發人員無需關心底層硬體的具體情況,根據BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、數據的輸入/輸出操作和硬體設備的配置功能。BSP具有以下兩個特點。
硬體相關性:因為嵌入式實時系統的硬體環境具有應用相關性,而作為上層軟 件與硬體平台之間的介面,BSP需要為操作系統提供操作和控制具體硬體的方法。
操作系統相關性:不同的操作系統具有各自的軟體層次結構,因此,不同的操作系統具有特定的硬體介面形式。
實際上,BSP是一個介於操作系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯繫緊密的軟體模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬體初始化以及BSP功能,設計硬體相關的設備驅動。
嵌入式系統硬體初始化
系統初始化過程可以分為3個主要環節,按照自底向上、從硬體到軟體的次序依次為:片級初始化、板級初始化和系統級初始化。
片級初始化
完成嵌入式微處理器的初始化,包括設置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部匯流排模式等。片級初始化把嵌入式微處理器從上電時的默認狀態逐步設置成系統所要求的工作狀態。這是一個純硬體的初始化過程。
板級初始化
完成嵌入式微處理器以外的其他硬體設備的初始化。另外,還需設置某些軟體的數據結構和參數,為隨後的系統級初始化和應用程序的運行建立硬體和軟體環境。這是一個同時包含軟硬體兩部分在內的初始化過程。
系統初始化
該初始化過程以軟體初始化為主,主要進行操作系統的初始化。BSP將對嵌入式微處理器的控制權轉交給嵌入式操作系統,由操作系統完成餘下的初始化操作,包含載入和初始化與硬體無關的設備驅動程序,建立系統內存區,載入並初始化其他系統軟體模塊,如網路系統、文件系統等。最後,操作系統創建應用程序環境,並將控制權交給應用程序的入口。
硬體相關的設備驅動程序
BSP的另一個主要功能是硬體相關的設備驅動。硬體相關的設備驅動程序的初始化通常是一個從高到低的過程。儘管BSP中包含硬體相關的設備驅動程序,但是這些設備驅動程序通常不直接由BSP使用,而是在系統初始化過程中由BSP將他們與操作系統中通用的設備驅動程序關聯起來,並在隨後的應用中由通用的設備驅動程序調用,實現對硬體設備的操作。與硬體相關的驅動程序是BSP設計與開發中另一個非常關鍵的環節。
系統軟體層
系統軟體層由實時多任務操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶介面(Graphic User Interface,GUI)、網路系統及通用組件模塊組成。RTOS是嵌入式應用軟體的基礎和開發平台。
嵌入式操作系統
嵌入式操作系統(Embedded Operation System,EOS)是一種用途廣泛的系統軟體,過去它主要應用於工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、任務調度,控制、協調併發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具有了一般操作系統最基本的功能,還有以下功能:如任務調度、同步機制、中斷處理、文件處理等。

趨勢


嵌入式操作系統將是未來嵌入式系統中必不可少的組件,其未來發展趨勢包括 :
1、定製化:嵌入式操作系統將面向特定應用提供簡化型系統調用介面,專門支持一種或一類嵌入式應用。嵌入式操作系統同將具備可伸縮性、可裁減的系統體系結構,提供多層次的系統體系結構。嵌入式操作系統將包含各種即插即用的設備驅動介面;
2、節能化:嵌入式操作系統繼續採用微內核技術,實現小尺寸、微功耗、低成本以支持小型電子設備。同時,提高產品的可靠性和可維護性。嵌入式操作系統將形成最小內核處理集,減小系統開銷,提高運行效率,並可用於各種非計算機設備;
3、人性化:嵌入式操作系統將提供精巧的多媒體人機界面,以滿足不斷提高的用戶需求;
4、安全化:嵌入式操作系統應能夠提供安全保障機制,源碼的可靠性越來越高;
5、網路化:面向網路、面向特定應用,嵌入式操作系統要求配備標準的網路通信介面。嵌入式操作系統的開發將越來越易於移植和聯網。嵌入式操作系統將具有網路接入功能,提供TCP/UDP/IP/PPP協議支持及統一的 MAC 訪問層介面,為各種移動計算設備預留介面;
6、標準化:隨著嵌入式操作系統的廣泛應用的發展,信息交換、資源共享機會增多等問題的出現,需要建立相應的標準去規範其應用。
嵌入式操作系統都具有一定的實時性,易於裁剪和伸縮,可以適合於從ARM7到Xscale各種ARMCPU和各種檔次的應用,嵌入式操作系統可以使用廣泛流行的ARM開發工具,如ARM公司的SDT/ADS和RealView等,也可以使用開發軟體,如GCC/GDB、KDE或Eclipe開發環境,市場上還有專用的開發工具,如Tornado、μC/View、μC/KA、CODE/Lab、Metroworks等。 

微軟新品


微軟計劃在2013年的3月份推出Windows Embedded 8嵌入式操作系統,即Windows 8的拼圖形式,Windows Embedded 8 Standard操作系統是一個模塊化版本的Windows,它運行類似Linux式的定製,允許製造商對其進行修改和定製,而且新的觸摸和基於手勢的界面都會在這個嵌入式操作系統上得到應用。
人們已經熟知VOIP電話、DVD播放器、GPS接收器和印表機等具有嵌入式操作系統的設備。隨著越來越多的設備加入電腦晶元採用嵌入式操作系統,而通過軟體來管理這些設備成為一個不斷增長的需求。在過去,准系統版本的LINUX是嵌入式操作系統的一個選擇,這要歸功於它對系統的低要求和易於定製。 越來越多的家用物品開始進入智能和數字領域,激起了人們對“物聯網”的興趣,而這個網路可以把你家裡所有的電腦化物品聯繫在一起,讓它們的主人易於控制,搜索東西就像在電腦上查找文件那樣簡單。
Windows Embedded 8或許只是微軟復興大計的一步,這個計劃將會把微軟從一個軟體公司轉變成為一個“設備和服務”性質的公司。微軟人正在尋求釋放一個嵌入式路線圖,最有可能是向股票持有人展示他們並不是笨重的恐龍會被即將到來的移動大潮毀滅。 事實上Windows嵌入式操作系統已經存在了一段時間,最早的Win3.x便有一個嵌入式的版本可以在POS終端上運行。但是真正的Windows嵌入式設備則始建於1999年叫做Windows NT Embedded。Windows XP的代碼在那時被用作創建“XP embedded”。緊隨其步伐的是Windows Embedded緊湊型,一些人對這個名字很陌生,不過你一定聽過它的另一個被人們所熟知的名字Windows CE。這個產品更多的是被用於機頂盒,特別是它在被用於Sega ill-fated Dreamcast控制台之後被人們廣泛所熟知。
2009年,Windows XP Embedded升級為Windows Embedded Standard,它提供了完整的Win32 API,但是不像Windows CE那樣可以在ARM、MIPS和SuperH多種處理器上運行,Windows Embedded Standard只能在x86上面運行。它完全兼容“標準”項目,如NET框架,IE7、Windows媒體播放器、Silverlight等。Windows Embedded Standard允許製造商對系統進行定製,刪除不需要的部分,同時保留系統的核心功能部分。而這一特色已經被一些聰明人在過去用於Windows現場CDS的生產如BartPE。