Windows CE在嵌入式工業中的應用思考

1  嵌入式系統

嵌入式系統(Embedded System)是指有特定功能或用途的計算機硬、軟件的集合體,分爲嵌入式軟件系統和嵌入式硬件系統。在智能控制設備、便攜式智能儀器等應用場合,出於對產品體積、成本等諸因素的考慮,往往要求將智能控制部分安裝於設備內部,且佔用的空間儘可能小,在這種情況下,處理器沒有一般意義的硬盤,只有有限容量的內存及常用的Flash電子盤,這樣的系統稱爲嵌入式系統。嵌入式系統的操作系統和功能軟件集成於計算機硬件系統之中,也就是軟件與硬件的一體化。嵌入式系統目的性或針對性很強,具有軟件代碼小、高度自動化、響應速度快等特點,這也是與通用計算機系統的最主要區別。嵌入式技術與實時性有着必然的聯繫。
2  從單片機的應用發展到嵌入式操作系統

嵌入式系統開始於20世紀80年代單片機的使用。單片機技術已經***到各個領域,且與人們的日常生活密不可分,給人們生活和工業生產帶來極大方便。單片機的功能強大,從信號採集、處理到傳輸都能由單片機來完成。但是,隨着網絡時代的來臨,許多電子設備需要聯網和更智能化、更強的計算能力,比如音頻、視頻的數據採集、處理和傳輸;豐富的圖形界面等。
單片機越來越不能滿足應用對象的需求,開發工作也變得越來越複雜、龐大。隨着微電子技術的進步,芯片的製造成本大大降低,而功能卻大大增強,16位和32位的嵌入式微處理器逐漸成爲嵌入式系統設計的主流。但是,只有嵌入式微處理器是不夠的,OEM(原始設備製造商)還需要有一個運行於嵌入式微處理器上的操作系統。嵌入式操作系統要有良好的可移植性,能夠用在根據應用要求選擇的微處理器中;軟件開發工作變得規範,容易測試,可實現模塊化編程,同時由多個人共同完成1個任務;解決已往開發產品存在的諸多不安全隱患。很多軟件廠商迎合嵌入式系統發展的需要,推出了多種不同特點的嵌入式操作系統。例如Microsoft公司的Windows CE、3COM公司的Palm OS,Symbian公司的EPOC、中科院凱思集團的HOpen以及Linux等。
3  Windows CE 3.0實時操作系統及其性能分析

3.1  Windows CE
Windows CE操作系統是微軟爲實現"信息隨手可得"的設想而努力開發的成果。通過 Windows CE,微軟提供了標準的開放式平臺,極大地減少了硬件製造商(IHV)、軟件開發商(SHV)以及最終將採納新一代非 PC 技術解決方案的客戶多方之間的矛盾。Windows CE是一個功能強大的開放的32位實時嵌入式操作系統,適用於快速構建新一代內存少、體積小的智能設備。例如工業控制器、手持式設備、智能電話、機頂盒和零售點設備等。目前的掌上電腦(PDA)、全球定位系統(GPS)、地理信息系統(GIS)、車載PC(Auto PC),有很多采用Windows CE操作系統。
3.2  Windows CE 3.0性能特點
Windows CE是一個搶先式多任務並具有強大通信能力的嵌入式操作系統。它是一個全新的、可移植的、實時的、模塊化的操作系統,具有流行的微軟程序開發界面,提供許多快速開發嵌入式系統的工具。
(1)  新內核
Windows CE看上去和Windows 9X/NT很像,但它不是這些操作系統的簡化版,也不是從這些系統移植過來的。Windows CE具有全新的內核和任務調度、內存管理策略。
(2)  可移植性
由於Windows CE操作系統幾乎完全是用C語言編寫的,所以可移植到衆多的32位微處理器上;支持各種處理器家族,包括x86、PowerPC、arm、MIPS和SH等系列。微軟爲每個支持的處理器家族提供完整的系統庫。Windows CE可以通過OEM適配層OAL(OEM Adaptation Layer)適配到任何硬件平臺。OAL是駐留在CE內核和硬件之間的代碼層。原始設備製造商使用這些代碼把CE適配到自己的硬件上。OAL鏈接CE的內核和定製的硬件。
(3)  實時性
Windows CE 2.1及其以前的版本實時性能不強,但Windows CE 3.0及以後的版本實時性能得到明顯改善。Windows CE 3.0的實時性能主要通過以下技術實現:支持嵌套中斷,高優先級的中斷並不需要等待低優先級的中斷服務例程(ISR)完成;256個線程優先級,可以靈活調度嵌入式系統的任務;通過固定高優先級中斷服務線程(IST)的最大調度延遲改善線程響應時間;使用API函數CeSetThreadQuantum 和 CeGetThreadQuantum修改操作系統中線程的線程量;中斷服務子程序的響應時間非常短;支持信號量。在基於Windows CE的參考平臺上,使用Hitachi SH3微處理器,系統可以在2~5μs內啓動一箇中斷服務例程(ISR),在 90~170μs內啓動相應的中斷服務線程。如果考慮其它因素,如CPU類型、時鐘頻率、總線速度等的影響,許多實際的基於Windows CE平臺的響應時間更短。
(4)  模塊化
由於存儲器資源在移動和嵌入式設備中非常有限,Windows CE設計成一個模塊化操作系統,設計者只需選擇那些需要的模塊以滿足指定平臺的存儲器要求。Windows CE的結構如圖1所示,主要包括4個模塊:內核(Kernel)、圖形窗口事件子系統(GWES)、

文件系統(Filesys)和通信模塊(Communications)。Kernel負責中斷處理、進程和線程管理、虛擬內存管理和其它相關任務;GWES(Graphics Windowing and Events Subsystem)相當於桌面Windows的圖形設備接口GDI和用戶庫;Filesys用於永久存儲,包括文件系統、註冊表和數據庫;Communications模塊負責與桌面PC、其它CE設備和因特網的互聯。每個模塊又分成許多小組件。裁減Windows CE時,可以只選擇那些需要的組件。

圖1  Windows CE的基本結構

(5)  Win32兼容性
Windows CE採用與Windows 95/NT相同的編程模型,它的API是Win32 API的一個子集,大約有600個API函數,可以實現所有的嵌入式應用。CE只支持UNICODE碼,CE API刪除了Win32 API中包含ANSI字符串參數的函數。CE還支持當前流行的軟件技術和運行庫,如MFC(Microsoft Foundation Class)、ATL(Active Template Library)、EVC(Embedded Visual C++)、EVB(Embedded Visual Basic)。Win32的兼容性可以容易地把現成的Windows應用程序移植到Windows CE中。目前有許多開發人員精通Windows編程技術,他們只需學習很少的知識就可以開發Windows CE應用程序。
PC機技術的發展必然出現兩極分化:一方面PC機功能將進一步加強,達到以前工作站和小型機水平;另一方面,面向普通消費者和特定用途的智能化電子設備將會大量涌現。後者將會普遍採用類似Windows CE的嵌入式操作系統。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章