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