嵌入式系統的開(kāi)發(fā)利器─WindowsCE操作系統
摘要:從系統結構、硬件要求、設計開(kāi)發(fā)和應用領(lǐng)域等方面詳細介紹了美國微軟公司最新的32位Windows CE操作系統。
1 Windows CE系統簡(jiǎn)介
Windows CE(以下簡(jiǎn)稱(chēng)CE)是美國微軟公司專(zhuān)門(mén)為各種移動(dòng)和便攜電子設備、個(gè)人信息產(chǎn)品、消費類(lèi)電子產(chǎn)品、嵌入式應用系統等非臺式或筆記本電腦領(lǐng)域設計的一種32位高性能操作系統。它具有一個(gè)簡(jiǎn)捷、高效的完全搶先式多任務(wù)操作核心,支持強大的通信和圖形顯示功能,能夠適應廣泛的系統需求。CE操作系統的主要特點(diǎn)包括:
·兼容于微軟公司的視窗(Windows)PC電腦操作系統,支持超過(guò)1000個(gè)常用的32位視窗應用程序接口函數(Win32API),支持高分辨率真彩色顯示,為應用軟件提供了強大的運行平臺。
·對硬件沒(méi)有任何特殊要求,允許系統設計者根據所開(kāi)發(fā)產(chǎn)品的要求自由選擇硬件,同時(shí)提供最廣泛的硬件設備支持,包括通信接口、顯示和打印設備、輸入輸出設備、音頻設備、網(wǎng)絡(luò )和存儲設備等。
·支持多達數十種不同的32位微處理器芯片,包括Intel和AMD公司的X86系列、摩托羅拉公司的PowerPC、日立公司的SH3系列、東芝公司的MIPS系列以及PHILIPS、NEC公司的處理器產(chǎn)品等。
·采用模塊化結構,配置靈活,運行時(shí)僅需很少的存儲器(RAM)資源,并且是目前唯一的可以從ROM(只讀存儲器)中直接啟動(dòng)的32位操作系統,能夠滿(mǎn)足具有嚴格硬件資源限制的系統要求。
由于其本身具有的出色性能,CE系統自1996年底面世之后,迅速在國外最新一代的工業(yè)和家用電子設備中得到了廣泛應用。在美國,僅基于CE系統的掌上電腦產(chǎn)品銷(xiāo)量就已超過(guò)了200萬(wàn)臺。本文將從系統結構、硬件要求、設計開(kāi)發(fā)和應用領(lǐng)域等4個(gè)方面對CE系統作全面的介紹。
2 Windows CE的系統結構
CE操作系統由一些獨立的模塊組成,每一個(gè)模塊提供特定的系統功能,大的模塊又可以分成為幾個(gè)組件。這種組件式結構能使CE系統變得非常緊湊,僅需使用很少的硬件資源就可運行。最主要的系統模塊有四個(gè),它們是:
· 內核
內核是整個(gè)操作系統的核心部分,它負責最基本的操作系統功能,包括內存管理,進(jìn)程管理和必需的文件管理。CE系統的內核繼承了微軟公司視窗操作系統的大部分出色性能,能夠提供虛擬內存管理、進(jìn)程調度、多任務(wù)管理、多線(xiàn)程管理以及中斷處理、異常處理等系統級服務(wù)。CE系統強大的搶先式多任務(wù)處理機制允許多達32個(gè)獨立的應用程序(即所謂進(jìn)程)同時(shí)運行,而多線(xiàn)程機制又支持每個(gè)進(jìn)程擁有自己下屬的多個(gè)運行分支(即所謂線(xiàn)程)。此外,CE系統還允許每個(gè)進(jìn)程擁有不同的優(yōu)先級,優(yōu)先級高的進(jìn)程可以比優(yōu)先級低的進(jìn)程擁有更高的系統資源使用權限。這種多任務(wù)特性使CE系統非常適用于需要實(shí)時(shí)處理功能的嵌入式系統,它使應用程序能夠同時(shí)運行幾個(gè)分支以處理不同的突發(fā)任務(wù)。
· 持久性存儲模塊
持久性存儲模塊通過(guò)對CE系統中對象存儲(object store)功能的支持,為用戶(hù)和應用程序提供數據存儲服務(wù)。對象存儲包含三種類(lèi)型:文件系統、CE數據庫和系統注冊表。文件系統使用文件分配表(FAT)來(lái)管理用戶(hù)安裝或創(chuàng )建的可執行程序或數據文件,最多支持9個(gè)FAT分區,并具有鏡像處理和安全功能,能預防在掉電或其他緊急情況下丟失數據。數據庫提供結構化的數據存儲和訪(fǎng)問(wèn)功能。系統注冊表用于存儲應用程序需要快速訪(fǎng)問(wèn)的系統配置數據以及其它信息。
· 繪圖、窗口、事件子系統簡(jiǎn)稱(chēng)GWES)
GWES是用戶(hù)、應用程序和操作系統之間的圖形化操作界面,負責提供系統與用戶(hù)之間的人機交互接口。GWES處理輸入的方式是將按鍵、手寫(xiě)式輸入裝置的移動(dòng)、菜單或按鈕等控件的選擇等用戶(hù)輸入事件轉換為消息,然后再傳遞給應用程序;處理輸出的方式是在顯示設備或打印機上顯示或打印窗口、圖形、文本等信息。GWES的核心是窗口,所有的應用程序都需要通過(guò)窗口從操作系統中接收信息,而所有的輸入事件都要經(jīng)操作系統翻譯為消息后通過(guò)窗口傳遞給應用程序。圖1為GWES的結構。
· 通信模塊
通信模塊為運行CE系統的設備提供對多種通信硬件和數據傳輸協(xié)議的支持,包括串/并行數據端口、紅外數據端口、電話(huà)應用程序接口(TAPI)以及網(wǎng)絡(luò )通信協(xié)議。CE系統的網(wǎng)絡(luò )功能十分強大,支持局域網(wǎng)(LAN)、傳輸控制協(xié)議/Internet協(xié)議TCP/IP、遠程訪(fǎng)問(wèn)服務(wù)RAS、網(wǎng)間控制報文協(xié)議(ICMP)、超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)等所有流行的網(wǎng)絡(luò )協(xié)議。
以上介紹的4個(gè)模塊提供了最主要的操作系統功能。除此之外,CE系統還有其它一些可選擇的模塊,包括:設備管理器和可安裝型設備驅動(dòng)模塊、多媒體聲音支持模塊、組件對象模型(COM)支持模塊、系統外殼(Shell)等。對于CE系統而言,每一個(gè)模塊都提供一種完整的功能。在最終的應用系統中,這些功能不一定都會(huì )被使用。CE系統不要求用戶(hù)包含所有的功能,如果某項功能不需要的話(huà),整個(gè)模塊就可以被省略。
這種基于模塊和組件的結構使CE系統具有了高度的可伸縮性,它允許用戶(hù)在設計自己的操作系統時(shí)自由選擇需要的模塊或組件。這樣,系統開(kāi)發(fā)者就能夠方便地根據具體的硬件要求定制出合適的操作系統,使其中僅包含設備運行所必須的功能模塊,從而不必為支持其它不需要的硬件或功能付出額外代價(jià)。通過(guò)采用這種方式,CE系統在支持目前市場(chǎng)上絕大多數硬件設備及接口標準的同時(shí)又保證了最大的靈活性和系統效率,因此能夠適應廣泛的用戶(hù)系統的要求。
3 Windows CE系統的硬件要求
CE操作系統不需要任何特定的硬件結構,實(shí)際的硬件系統完全由用戶(hù)根據需要自由設計。從理論上說(shuō),一臺以CE系統為基礎的設備必須有一個(gè)處理器,有內存及內部時(shí)鐘以便處理進(jìn)度,除此之外再沒(méi)有其他的硬件要求。不過(guò)在實(shí)際應用中,每個(gè)系統都需要有周邊設備才能完成其功能。如前所述,CE系統提供了廣泛的硬件兼容性,支持幾乎所有的外圍設備、其它設備和網(wǎng)絡(luò )設備。為了進(jìn)一步減少對內存資源的需求,CE系統在采用模塊化設計的同時(shí)還大量使用了動(dòng)態(tài)鏈接庫(Dynamic-Link Library),許多功能函數都包含在動(dòng)態(tài)鏈接庫中,僅當應用程序需要時(shí)才調入內存,平時(shí)則以文件形式保存在存儲器內。
作為一個(gè)小而靈活的操作系統,以CE為基礎的系統所需內存大小完全依賴(lài)于系統選用的模塊和組件。表1列出了幾種有代表性的基于CE的操作系統配置以及對存儲器資源的要求。其中,MinInput表示最小輸入采集系統,MinGDI表示最小圖形系統,MinComm表示最小通信系統,H/PCUI表示手持電腦用戶(hù)操作系統。表格中,ROM欄表示系統需要的永久存儲空間,RAM欄表示系統運行時(shí)占用的系統內存,STACK欄表示系統運行時(shí)占用的數據存儲空間。
表1 幾種基于CF的操作系統配置與資源占用情況
系 統 | 包含模塊 | RAM/KByte | ROM/KByte | STACK/KByte |
MinInput | 內核,最小文件系統,基本輸入設備支持 | 27 | 352 | 2 |
MinGDI | 內核,文件系統,基本圖形GWES,輸入設備支持 | 711 | 670 | 19 |
MinComm | 內核,文件系統,通信模塊,輸入設備支持 | 119 | 1103 | 14 |
H/PCUI | 內核,文件系統,注冊表,GWES,通信模 塊,輸入設備支持,圖形外殼 | 857 | 1806 | 35 |
可以看出,相對于它強大的功能,CE操作系統對于硬件資源的要求非常低。一個(gè)只包含內核、通信端口,不需要顯示功能的基本系統僅需不到400K的ROM和30K RAM即可運行,而一個(gè)完整配置的掌上電腦操作系統也只需大約2M ROM和1M RAM。當然,最終的系統配置還必須考慮應用程序運行和用戶(hù)數據存儲的需要。
4 基于Windows CE的應用系統開(kāi)發(fā)與設計
設計一個(gè)運行CE的嵌入式系統需要經(jīng)過(guò)以下步驟:
(1)明確設計目的,確認系統功能,選擇合適的微處理器芯片和周邊設備;
(2)完成硬件平臺的設計;
(3)選擇CE功能模塊,定制操作系統,并改編部分代碼使之與硬件平臺相配合;
(4)編寫(xiě)應用軟件。
典型的基于CE的嵌入式系統結構如圖2所示。其中,設備管理器提供對可安裝設備的支持,允許在系統中安裝諸如PC卡存儲器和調制解調器之類(lèi)的設備以擴充功能;附加技術(shù)模塊指由CE操作系統提供的一些可選擇的專(zhuān)用功能模塊,如JAVA語(yǔ)言(一種網(wǎng)絡(luò )編程語(yǔ)言)支持模塊、手寫(xiě)筆輸入識別模塊等;外殼模塊為系統提供一個(gè)與PC電腦上的視窗操作系統類(lèi)似的圖形化操作界面。
對于系統設計者而言,需要自行開(kāi)發(fā)的是應用程序和直接與硬件有關(guān)的部分,包括硬件系統本身、硬件抽象層和設備驅動(dòng)程序。其中,硬件抽象層是指建立在硬件設備與系統內核之間的一層代碼,主要任務(wù)是為內核管理具體硬件設備的時(shí)鐘、中斷和實(shí)施電源管理提供支持。設備驅動(dòng)程序負責支持操作系統對目標硬件的訪(fǎng)問(wèn)。硬件抽象層和驅動(dòng)程序都需要針對具體的硬件設備編寫(xiě)。一般硬件設備制造廠(chǎng)商會(huì )為設備提供驅動(dòng)軟件支持,如果有專(zhuān)門(mén)為CE系統編寫(xiě)的驅動(dòng)程序,只需將其加入到操作系統的相應模塊中就可使用。如果沒(méi)有,則應根據廠(chǎng)商提供的驅動(dòng)程序開(kāi)發(fā)包編寫(xiě)。通常這些開(kāi)發(fā)包中已經(jīng)包含了完成各種硬件操作的標準代碼,開(kāi)發(fā)者的工作只是將其與相應的CE系統API函數對應起來(lái)。在CE系統中,所有涉及硬件的操作都通過(guò)調用相應的API接口函數來(lái)完成,而硬件抽象層和驅動(dòng)程序就是要為這些API函數提供支持,將其翻譯為直接對目標硬件進(jìn)行的底層操作。通過(guò)這種方式,CE系統將應用程序與具體的硬件設備進(jìn)行了隔離,應用程序只需調用API函數就可以實(shí)現對硬件的訪(fǎng)問(wèn)。這樣,程序員在開(kāi)發(fā)應用程序時(shí)就沒(méi)有必要編寫(xiě)任何直接針對硬件的代碼,因此不必考慮具體的硬件特性,而應用程序也具有了不依賴(lài)于具體硬件設備的獨立性。
微軟公司提供了專(zhuān)門(mén)的Windows CE平臺編輯器軟件來(lái)幫助開(kāi)發(fā)者完成定制操作系統和編寫(xiě)硬件抽象層的工作。該編輯器是一個(gè)可以在PC電腦上運行的工具軟件包,其中包含完整的帶有集成開(kāi)發(fā)工具的Windows CE操作系統,并附帶了編程指南、應用程序接口(API)參考等資料和設備驅動(dòng)程序工具箱。用戶(hù)可以使用其中的操作系統編輯器、匯編編輯器和經(jīng)過(guò)優(yōu)化的Visual C++編輯器進(jìn)行開(kāi)發(fā),并將最終生成的操作系統編譯為能夠被處理器芯片識別的二進(jìn)制代碼文件,以便在目標系統中使用。除啟動(dòng)和初始化部分外,CE系統的其他部分可以直接以文件形式存儲。CE平臺編輯器中還帶有遠程調試工具,只要硬件開(kāi)發(fā)系統支持并留出調試端口,就可以將編輯好的操作系統從PC電腦中下載到硬件平臺進(jìn)行調試,并在PC電腦上觀(guān)察系統的運行狀態(tài)和內存資源使用情況等信息。
由于CE操作系統支持1000多個(gè)與Windows系統兼容的API函數,使在基于CE的嵌入式系統中運行的程序可以擁有與PC電腦中的程序同樣復雜和強大的功能。微軟公司提供了專(zhuān)門(mén)用于編寫(xiě)CE程序的Visual C++和Visual Basic附件工具包以及CE平臺模擬器,讓程序員能夠直接利用這兩種熟悉的編程語(yǔ)言在PC電腦上編寫(xiě)和調試CE系統中的程序。此外,盡管編寫(xiě)CE系統的應用程序與編寫(xiě)PC平臺的32位Windows應用程序有一些區別,但其中進(jìn)程、線(xiàn)程、視窗的概念以及API函數、資源、控件都與Windows系統非常相似,因此任何具有Windows編程經(jīng)驗的程序員都能夠很容易地掌握CE編程。
5 Windows CE系統的應用領(lǐng)域
目前國外已經(jīng)有大量基于Windows CE系統的設備面市,所涉及的領(lǐng)域包括家用電器、娛樂(lè )設備、專(zhuān)用計算機系統、便攜電腦以及個(gè)人通信產(chǎn)品等。微軟公司于1999年3月在中國深圳提出了維納斯計劃,其核心內容就是推廣基于Windows CE系統的信息家電產(chǎn)品。目前已經(jīng)有許多符合這一概念的產(chǎn)品面世,如美國國家半導體公司生產(chǎn)的便攜式網(wǎng)絡(luò )終端WebPad,能夠隨時(shí)與互聯(lián)網(wǎng)連接,進(jìn)行網(wǎng)絡(luò )瀏覽和收發(fā)電子郵件。類(lèi)似的產(chǎn)品還包括網(wǎng)絡(luò )機頂盒和網(wǎng)絡(luò )電話(huà)。在家庭娛樂(lè )市場(chǎng)方面,日本世嘉公司于1998年底推出了運行CE系統的Dreamcast電視游戲機,其擁有的強大的處理器運算能力和圖形功能甚至超過(guò)了桌面電腦產(chǎn)品,除進(jìn)行游戲之外還能播放DVD、瀏覽互聯(lián)網(wǎng)或運行基于CE系統的應用程序。在專(zhuān)用計算機系統方面,使用CE系統的有打包和郵件跟蹤設備、超市收銀機終端、數據采集設備、車(chē)載導航電子設備以及工業(yè)控制系統等。在便攜電腦市場(chǎng)方面,運行CE系統的設備包括掌上電腦、個(gè)人商務(wù)通產(chǎn)品和車(chē)載移動(dòng)電腦系統。掌上電腦是最近幾年興起的新型便攜信息產(chǎn)品,一般都配備筆輸入裝置,具有文字處理、電子記事和網(wǎng)絡(luò )瀏覽功能,可以與桌面電腦進(jìn)行對接交換數據,而重量不到傳統筆記本電腦的一半。在國外,流行的掌上電腦操作系統有Palm OS和Windows CE兩種,而國內則主要是中文Windows CE。常見(jiàn)的惠普、聯(lián)想等公司的產(chǎn)品都使用了最新的中文CE2.11版本,其中還引入了漢王筆輸入識別技術(shù)和金山詞霸英漢雙向翻譯系統。在個(gè)人通信市場(chǎng)方面,已經(jīng)有大量?jì)戎茫茫畔到y、能夠進(jìn)行網(wǎng)絡(luò )訪(fǎng)問(wèn)和收發(fā)電子郵件的移動(dòng)電話(huà)產(chǎn)品出現。
總結以上介紹可以得出結論,由于CE操作系統具有強大的功能、廣泛的兼容性、靈活的適用性、最小的硬件資源要求和完善的開(kāi)發(fā)工具支持,因此是設計嵌入式系統的理想選擇。21世紀將是人類(lèi)社會(huì )全面走向網(wǎng)絡(luò )化、信息化的時(shí)代,電子產(chǎn)品小型化、智能化、網(wǎng)絡(luò )化的趨勢已不可避免。面對這一浪潮,將先進(jìn)的操作系統性能和強大的通信能力高度集成在一起的CE系統無(wú)疑具有美好的應用前景。
評論