嵌入式系統可說是未來生活的一個基礎平台,將會大大地影響我們的生活方式。嵌入式系統的熱門的生活應用有:MP3撥放機、數位機上盒(Set-top Box)、數位視訊錄影機(DVR)、和遊戲機、家庭網路閘道器(Home Gateway)、網路電話(VoIP)、智慧型手機 (smart phone)、掌上型電腦(PDA)等。在許多科技產品講求 高智慧性、多功能網路連結的訴求下,更需要大量嵌入式系統測試技術與人才的配合。
資訊家電、智慧型手機與PDA等產品普遍的出現在你我生活的四周。從國內各家知名廠商紛紛成立嵌入式系統發展部門,到政府相關單位經濟部工業局及資訊發展推動小組,結合國內數十家資訊電子家電業者共同成立的IA與SoC聯盟,希望能夠協助業者與國外領導廠商進行技術移轉與策略合作,強化國內產業的實力。
嵌入式系統的開發成為目前國家產業發展的主要政策之一,加上後PC時代種種需要複雜運算功能的數位應用系統,其核心肯定是低成本高效率的即時性嵌入式系統。而國內在未來幾年內這一方面的人才依然相當缺乏,一般應用產品設計公司依然會有其技術瓶頸,對於目前有志於從事資訊工業相關的人員或是學生來說,這是一項非常具有前景與挑戰的技術,為此成為產業界要求而且無可取代的人才。
------------------------------------------------------------------------------------------------------------------------------------------------
關鍵詞
嵌入式系統
嵌入式操作系統
PALM OS
WINDOWS CE
LINUX
<ps>Symbian
1 嵌入式系統與嵌入式操作系統
1.1 嵌入式系統
嵌入式系統是以嵌入式計算機為技術核心,面向用戶、面向產品、面向應用,軟硬件可裁減的;
適用於對功能、可靠性、成本\體積、功耗等綜合性能有嚴格要求的專用計算機系統。
嵌人式系統應具有的特點是:高可靠性;在惡劣的環境或突然斷電的情況下,系統仍然能夠正常工
作;許多嵌人式應用要求實時性,這就要求嵌入式操作系統具有實時處理能力;
嵌入式系統和具體應用有機地結台在一起,它的升級換代也是和具體產品同步進行;嵌入式系統中的
軟件代碼要求高質量、高可靠性;一般都固化在只讀存儲器中或間存中,也就是說軟件要求固態化存
儲,而不是存儲在磁盤等載體中。
1.2 嵌入式操作系統
嵌入式操作系統EOS(Embedded OperatingSystem)是一種用途廣泛的系統軟件,過去它主要應用
於工業控制和國防系統領域。EOS負責嵌人系統的全部軟、硬件資源的分配、調度工作,控制。
協調並發活動;它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。
目前,已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及
EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌人式操作系統在
系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。
EOS是相對於一般操作系統而言的,它除具備了一般操作系統最基本的功能,如任務調度、同步機制
、中斷處理、文件功能等外,還有以下特點:
(1)可裝卸性。開放性、可伸縮性的體系結構。
(2)強實時性。EOS實時性一般較強,可用於各種設備控制當中。
(3)統一的接口。提供各種設備驅動接日。
(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用。
(5)提供強大的網絡功能,支持TCP門P協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的
MAC訪問層接口,為各種移動計算設備預留接口。
(6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的
EOS臭有較強的穩定性。嵌入式操作系統的用戶接日一般不提供操作命令,它通過系統調用命令向
用戶程序提供服務。
(7)固化代碼。在嵌入系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。
輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地
拆卸,而用各種內存文件系統。
(8)更好的硬件適應性,也就是良好的移植性。
國際上用於信息電器的嵌入式操作系統有40種左右。現在,市場上非常流行的EOS產品,包括
3Com公司下屬子公司的Palm OS,全球佔有份額達50%,MicroSoft公司的Windows CE不過29%
在美國市場,Palm OS更以80%的佔有率遠超Windows CE。
開放源代碼的Linux很適於做信息家電的開發。 比如:
中科紅旗軟件技術有限公司開發的紅旗嵌入式Linux和美商網虎公司開發的基於Xlinux的嵌人式
操作系統「夸克〞。「夸克」是目前全世界最小的Linux,它有兩個很突出的特點,就是體積小和
使用GCS編碼。
2 三種常用的嵌入式操作系統
2.PALM OS
Palm是3Corn公司的產品,其操作系統為Palm OS。Palm OS是一種32位的嵌入式操作系統。
Palm提供了串行通信接口和紅外線傳輸接口;利用它可以方便地與其它外部設備通信、傳輸數據;
擁有開放的OS應用程序接口,開發商可根據需要自行開發所需的應用程序。
Palm OS是一套具有極強開放性的系統,現在有大約數千種專門為Palm OS編寫的應用程序,
從程序內容上看,小到個人管理、遊戲,大到行業解決方案,Palm OS無所不包。在豐富的軟件支
持下,基幹Palm OS的掌上電腦功能得以不斷擴展。
Palm OS是一套專門為掌上電腦開發的OS。在編寫程序時,Palm OS充分考慮了掌上電腦內存相對
較小的情況,因此它只佔有非常小的內存。由於基幹Palm OS編寫的應用程序佔用的空間也非常小
(通常只有幾十KB),所以,基於Palm OS的掌上電腦(雖然只有幾MB的RAM)可以運行眾多應
用程序。
由於Palm產品的最大特點是使用簡便、機體輕巧;因此決定了Palm OS應具有以下特點。
(1)操作系統的節能功能。由於掌上電腦要求使用電源盡可能小,因此在Palm OS的應用程序中,如果
沒有事件運行,則系統設備進人半休眠(doze)的狀態;如果應用程序停止活動一段時間,則系統
自動進人休眠(sleep)狀態。
(2)合理的內存管理。Palm的存儲器全部是可讀寫的快速RAM,動態RAM(Dynamic RAM)類似於
PC機上的RAM,它為全局變量和其它不需永久保存的數據提供臨時的存儲空間;存儲RAM
(Storage RAM) 類似於PC機上的硬盤,可以永久保存應用程序和數據。
(3)Palm OS的數據是以數據庫(database)的格式來存儲的。數據庫是由一組記錄(records)和一些
數據庫頭信息組成的。為保證程序處理速度和存儲器空間,在處理數據的時候,Palm OS不是把數
據從存儲堆(Storage Heap)拷貝到動態堆(Dynamic Heap)後再進行處理,而是在存儲堆中直
接處理。為避免錯誤地調用存儲器地址,Palm OS規定,這一切都必須調用其內存管理器裡的API來
實現。 Palm OS與同步軟件(Hotsync)結合可以使掌上電腦與PC機上的信息實現同步,把台式機
的功能擴展到了掌上電腦。Palm應用範圍相當廣泛,如:聯絡及工作表管理、電子郵件及互聯網通
信。 銷售人員及組別自動化等等。Palm外圍硬件也十分豐富,有數碼相機、GPS接收器、調製解調
器、GSM無線電話、數碼音頻播放設備、便攜鍵盤、語言記錄器、條碼掃瞄、無線尋呼接收器、探
測儀。 其中Palm與GPS結合的應用,不但可以作導航定位,還可以結合GPS作氣候的監測、地名調
查等。
2.2 Windows CE
WINDOWS CE是微軟開發的一個開放的、可升級的32位嵌入式操作系統,是基於掌上型電腦類的電
子設備操作系統。它是精簡的Windows 95。Windows CE的圖形用戶界面相當出色。其中CE中的C代
表袖珍(Compact)、消費(Consumer)、通信能力(Connectivit)和伴侶(Companion);E代表
電子產品(Electronics)。與 Windows 95/98、Windows NT不同的是,Windows CE是所有源代碼
全部由微軟自行開發的嵌入式新型操作系統,其操作界面雖來源於Windows 95/98,但Windows CE
是基於Win32 API重新開發的、新型的信息設備平台。Windows CE具有模塊化、結構化和基幹Win32
應用程序接日以及與處理器無關等特點。Windows CE不僅繼承了傳統的Windows圖形界面,並且在
Windows CE平台上可以使用Windows 95/98上的編程工具(如 Visual Basic、Visual+十等)、使
用同樣的函數、同樣的界面風格,使絕大多數的應用軟件只需簡單的修改和移植就可以在WindowsCE
平台上繼續使用。
Windows CE的設計目標是:模塊化及可伸縮性、實時性能好,通信能力強大,支持多種CPU。它的設
計可以滿足多種設備的需要,這些設備包括了工業控制器、通信集線器以及銷售終端之類的企業設
備,還有像照相機、電話和家用娛樂器材之類的消費產品。一個典型的基於Willd。WS CE的嵌人系統
通常為某個特定用途而設計,並在不聯機的情況下工作。它要求所使用的操作系統體積較小,內建有
對中斷響應功能。
WINDOWS CE的特點有:
(1)具有靈活的電源管理功能,包括睡眠/喚醒摸式。
(2)使用了對象存儲(object store)技術,包括文件系統、註冊表及數據庫。它還具有很多高性能。
高效率的操作系統特性,包括按需換頁、共享存儲、交叉處理同步、支持大容量堆(heaP)等。
(3)擁有良好的通信能力。廣泛支持各種通信硬件,亦支持直接的局域網連接以及撥號連接,並提供
與PC、內部網以及Internet的連接,還提供與Windows gx/NT的最佳集成和通信。
(4)支持嵌套中斷。允許更高優先級別的中斷首先得到響應,而不是等待低級別的ISR完成。這使得該
操作系統具有嵌入式操作系統所要求的實時性。
(5)更好的線程響應能力。對高級別IST(中斷服務線程)的響應時間上限的要求更加嚴格,在線程響
應能力方面的改進,幫助開發人員掌握線程轉換的具體時間,並通過增強的監控能力和對硬件的控
制能力幫助他們創建新的嵌入式應用程序。
(6)256個優先級別。可以使開發人員在控制嵌人式系統的時序安排方面有更大的靈活性。
(7)Windows CE的API是Win32 API的一個子集,支持近1500個Win32 API。有了這些API,足可以編
寫任何複雜的應用程序。當然,在Windows CE系統中,所提供的API也可以隨具體應用的需求而
定。 在掌上型電腦中Windows CE包含如下一些重要組件:Pocket Outlook及其組件、語音錄音機
、移動頻道、遠程撥號訪問、世界時鐘、計算器、多種輸入法、GBK字符集、中文TTF字庫、英漢
雙向詞典、袖珍測覽器、電子郵件、Pocket Office、系統設置、Windows CE Services軟件。
2.3 Linux
Linux是一個類似於Unix的操作系統。它起源於芬蘭一個名為Linus Torvalds的業餘愛好,但是現在已
經是最為流行的一款開放源代碼的操作系統。Linux從1991年問世到現在,短短10年的時間內已發展
成為一個功能強大、設計完善的操作系統,伴隨網絡技術進步而發展起來的Linux OS已成為Microsoft
公司的DOS和Windows 95/98的強勁對手。Linux系統不僅能夠運行於PC平台,還在嵌入式系統方面
大放光芒,在各種嵌人式Linux OS迅速發展的狀況下,Linux OS逐漸形成了可與Windows CE等EOS進
行抗衡的局面。目前正在開發的嵌人式系統中,49%的項目選擇Linux作為嵌入式操作系統。
Linux現已成為嵌入式操作系統的理想選擇。
中科紅旗軟件技術有限公司開發的紅旗嵌入式
Linux正在成為許多嵌人式設備廠商的首選。在不到一年的時間,紅旗公司先後推出了PDA、機頂盒
、瘦客戶機、交換機用的嵌入式Linux系統,並且投入了實際應用。現在以紅旗嵌入式Linux為例來講
解嵌入式Linux OS的特點:
(1)精簡的內核,性能高、穩定,多任務。
(2)適用於不同的CPU,支持多種體系結構,如X86、ARM、MIPS、ALPHA,SPARC等。
(3)能夠提供完善的嵌人式GUI以及嵌入式X.Wifld。WS。
(4)提供嵌人式測覽器、郵件程序、MP3 M放器、MPEG播放器、記事本等應用程序。
(5)提供完整的開發工具和SDK,同時提供PC上的開發版本。
(6)用戶可定制,可提供圖形化的定制和配置工具。
(7)常用嵌入式芯片的驅動集,支持大量的周邊硬件設備,驅動豐富。
(8)針對嵌人式的存儲方案,提供實時版本和完善的嵌入式解決方案。
(9)完善的中文支持,強大的技術支持,完整的文檔。
(10)開放源碼,豐富的軟件資源,廣泛的軟件開發者的支持,價格低廉,結構靈活,適用面廣。
3 三種嵌入式操作系統的比較
3.1 Linux OS與 Windows CE的比較
嵌入式Linux OS與Windows CE相比的優點:
第一,Linux是開放源代碼的,不存在黑箱技術,遍佈全球的眾多Linux愛好者都是Linux開發者的強
大技術支持者;而Windows CE是非開放性OS;使第三方很難實現產品的定制。第二,Linux的源代碼
隨處可得,註釋豐富,文檔齊全,易干解決各種問題。第三,Linux的內核小、效率高;而 Windows
CE在這方面是笨拙的,佔用過多的RAM,應用程序龐大。第四,Linux是開放源代碼的OS,在價格上
極具競爭力,適合中國國情。Windows CE的版權費用是廠家不得不考慮的因素。第五,Linux不僅支
持X86芯片,還是一個跨平台的系統。到目前為止,它可以支持20~30種CPU,很多CPU(包括家電
業的芯片)廠商都開始做Linux的平台移植工作,而且移植的速度遠遠超過Java的開發環境。如果今
天採用Linux環境開發產品,那麼將來更換CPU時就不會遇到更換平台的困擾。第六,Linux內核的結
構在網絡方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的以太網,還有無線網絡、
Token ring(令牌環)和光纖甚至衛星的支持。
第七,Linux在內核結構的設計中考慮適應系統的可裁減性的要求,windows CE在內核結構的設計中
並未考慮適應系統的高度可裁減性的要求。
嵌入式Linux OS與 Windows CE相比的弱點:第一,是開發難度較高,需要很高的技術實力;第二,
是核心調試工具不全,調試不太方便,尚沒有很好的用戶圖形界面;第三,與某些商業OS一樣,嵌人
式Linux佔用較大的內存;當然,人們可以去掉部分無用的功能來減小使用的內存,但是如果不仔
細,將引起新的問題;第四,有些Linux的應用程序需要虛擬內存,而嵌入式系統中並沒有或不需要
虛擬內存,所以並非所有的Linux應用程序都可以在嵌人式系統中運行。
3.2 Palm OS與 windows CE的比較
3Com公司的Palm OS是掌上電腦市場中較為優秀的嵌人式操作系統,是針對這一市場專門設計的系
統。它有開放的操作系統應用程序接口(API),支持開發商根據需要自行開發所需的應用程序,具
有十分豐富的應用程序。在掌上電腦市場上獨佔其霸主地位已久。從技術層面上講,Palm OS是一套
專門為掌上電腦開發的操作系統,具有許多Windows CE無法比擬的優勢;Windows CE過干臃腫,不
適合應用在廉價的掌上電腦中。
Palm OS是一套具有極強開放性的系統。開發者向用戶免費提供Palm OS的開發工具,允許用戶利用
該工具在Palm OS基礎上方便地編寫、修改相關軟件。與之相比,Windows CE的開發工具就顯得複雜
多了,這使得一般用戶很難掌握。這也是Palm OS與Windows CE的另一個主要區別