📄 subject_31975.htm
字号:
<p>
序号:31975 发表者:雷神 发表日期:2003-03-08 23:14:30
<br>主题:Windows CE 風雲再起
<br>内容:Windows CE 風雲再起<BR><BR>作者:陳澤民<BR><BR>Brian T. M. Chen<BR><BR>brian@alumni.ccu.edu.tw <BR><BR>Copyright ? 2001 Tse Min Chen<BR><BR>Reproduction in any manner in whole or in part is prohibited without priori permission from the Author. All right reserved.<BR> <BR><BR> <BR><BR>難得農曆過年放了一個長假,筆者就趁這個機會到處拜訪咖啡店,沈浸在濃濃咖啡香中卻時常傳來了吵雜的電動遊戲聲,抬頭向著對角一看,喔!原來是一位年輕女孩手中的彩色多媒體 PDA聲聲作響,再仔細一瞧螢幕上頭有個符號,沒錯就是熟悉的微軟視窗Windows CE。<BR><BR>過去筆者在研究所期間,也曾採用過Windows CE 2.x試圖做出一台類似Sony Aibo的機器,當時考量到的是因為Windows CE的多媒體、網路及周邊支援較完整,加上是個人熟悉的Visual Studio 整合應用開發環境,可惜的是效果並非如想像中理想。也或許是這個原因加上價格高,使得Microsoft在PDA大戰的起始點上略遜於Palm一籌。然在面對資訊家電和行動手持裝置的超級大餅誘因下,軟體巨人不得不積極研發改進並推出新的嵌入式作業系統,在龐大的研發團隊過去豐富的作業系統經驗和網路多媒體技術基礎為後盾推下新版的Windows CE 3.0,此時微軟搶佔後PC時代市場的野心可見一番。一般分析家也預測,就像Windows 98在個人電腦市場上屹立不搖一樣,新版Windows CE也可能在資訊家電會擁有廣大的市佔率。<BR><BR> <BR><BR> <BR><BR>市場與相關應用<BR>微軟的嵌入式作業系統家族共有三種,分別是Windows CE、Windows NT Embedded、和Windows 2000 with the Server Appliance Kit。Windows NT Embedded適合以個人電腦為架構基礎的應用,根據微軟公佈,Nortel 在網路通訊管理器上就有60% 已經採用Windows NT Embedded 為作業系統。Windows 2000系列適合於各種伺服器的應用,最近較熱門的網路檔案伺服器如Dell 和Compaq的NAS(Networked Attached Storage)設備。Windows CE 則是比較適用於手持行動裝置、資訊家電、和其他工業控制器等配備較少記憶體容量的硬體。但有一點很值得注意的是,這個嵌入式作業系統家族成員通通內建網路功能且開發環境都整合於Microsoft Visual Studio,另外Windows CE也支援多處理機架構這也許跟多處理機資訊家電如TI和Philips的整合MCU加DSP晶片架構設計趨勢不謀而合。<BR><BR>近期以Windows CE 為平台的資訊家電產品有Pocket PC、Handheld PC、WebPad 和其他產品如圖一所示。其中PDA是目前比較普遍的產品,如HP 的Jornada 540、Compaq的iPEQ、和HP最新的EM-500。Handheld PC 在國內則較乏人問津,也許是其鍵盤和螢幕較小的因素吧!這類產品如Casio的Cassiopeia 、如HP 的Jornada 720 和Philips 的 Velo。網頁瀏攬器WebPad產品如Samsung IZZI web、AboCom X-Pilot、Hitachi ePlate Wireless Web Pad、Hoeft & Wessel Webpanel HW 90300等。其他產品如網路數位影音家電DigMedia DigRadio和Compaq iPAQ Home Internet Appliance,和Hitachi's Wearable Internet Appliance等。和其他專供資訊家電市場的遷入是作業系統比較,Windows CE還佔有部分的商業用(如ATM)和工業用(如全自動相片沖洗機)的產品,這方面相關資料可參考研華的網站http://www.advantech.com.tw/。<BR><BR>前面講到Windows CE 在PDA市場上起步落差PalmOS一節,但以微軟過去在個人電腦上面豐富的網路和多媒體經驗,卻讓Windows CE在資訊家電市場上急起直追,根據IDC的資料(圖二)Windows CE和PalmOS已經兩強鼎立,甚至威脅到PalmOS一開始獨大的市場,另外以最近幾款具有PDA功能的行動電話來看,通訊手機大廠支援的EPOC有日漸壯大的趨勢。值得注意的是,在這後PC時代的特殊現象中正是我們可以切入的絕佳機會。<BR><BR> <BR><BR>功能結構介紹<BR>在微軟的定義裡Windows CE 3.0是一個32位元模組化即時性的嵌入式作業系統,其對記憶體的需求量小,作業系統核心約在400Kbyte 左右。在與過去的版本Windows CE 2.12 比較無論在即時性、穩定性、或是多媒體支援等都有很大的改善。<BR><BR> <BR><BR>系統核心<BR>如上一期裡我們談過的,在系統核心這裡做了兩件主要的事情即工作排程和資源管理,Windows CE當然也不例外。Windows CE本身是一個多執行緒(Multithread)且支援多CPU的一個作業系統,在工作排程方面,為了提高系統即時性主要設定了256等級的工作優先順序和巢狀中斷處理。由於許多的應用程式必須開多個執行緒同時執行以達到預期效果,因此前者使得程式設計者可以有更大的空間來調整其執行期的效率;後者則針對中斷種類加以區分等級,在排程時允許高等級的中斷可以優先或再其他中斷服務執行時做相關處理。這些加強功能,基本上只意味著系統對事件反應會比較恰當,對於整體效率是否會提昇則不可保證。由於作業系統廠商除了連Source Code都賣的之外,一般不會公佈其排程器原理(通常都只是提到Preemptive priority-based scheduling,有時會做一些改善),因此我們只能從應用程式開發經驗中推測其真正的優缺點。然而以系統開發者的角度來看,無論在對以用戶為導向的資訊家電或是其他工業上的應用,這些設計是屬於比較彈性的優點。<BR><BR>Windows CE也提供保護模式(Protection Mode)和核心模式(Kernel Mode)來執行應用程式,通常一般應用是在保護模式下執行,但是在應付一些多媒體資料流的處理時,例如影音同步,由於該運算量換和資料流通量相較之下很龐大,因此我們會選擇在核心模式下執行以達即時的效果。資源管理方面最大的特點可能就在於3.0版具備有虛擬記憶體保護機智和有效的電源管理省電裝置。其他方面如I/O的管理,系統註冊區保護等。<BR><BR>Windows CE 3.0目前可適用的平台當然也是看Kernel以沒有被移植到各種處理機去執行,對軟體巨人而言答案當然是肯定的。根據資料其目前可支援的處理機有各廠牌的ARM-7、MIPS如NEC的VR41xx、PowerPC如Motorola MPC82x、SH如Hitachi的Super-H3-SH7750、和x86系列。奇怪的是x86版本目前只支援Intel、National、和ST Microelectronics。其他如AMD和VIA的晶片在Windows CE 3.0似乎還未支援。<BR><BR> <BR><BR>使用者介面與周邊支援<BR>Windows CE顧名思義就是一個具有視窗介面的作業系統,其提供基本的視窗元件如Menu、Dialog、Icon等,也包括有Color Management、Truetype font,幾乎是Windows 98 的一個縮影,圖三即是在Pocket PC上的一些例子。<BR><BR>週邊支援方面提供有一些驅動程式原始碼範本給開發者參考,基本的方法有所謂的Native Drivers和Stream Drivers。兩中方法在記憶體應用和資料流控管上有些不同,前者針對的是一般較低階內建的硬體如螢幕,後者則幾乎可適用於任何硬體。不過重點還是在他所提供的一些樣本,如Mouse、Keyboard、Battery、Serial port、PCMCIA、USB、Audio、Printer、IrDA…等。<BR><BR> <BR><BR> <BR><BR> <BR><BR> <BR><BR>通訊與網路<BR>不管是手持式裝置或其他資訊家電通訊和網路的能力是不可或缺的,而通訊協定或網路協定軟體則成為關鍵技術,這一環其實也是國內各研究單位急於發展的。Windows CE在這方面極具優勢,其提供的協定軟體蠻完整的,如基本的PPP、TCP/IP、IrDA、ARP、ICMP、Wireless Tunable TCP/IP、PPTP、SNMP、Http…幾乎該有的都有,甚至還有提供到保密與驗證的加密通訊如PCT/SSL。<BR><BR> <BR><BR>多媒體支援<BR>目前在PC上執行的Windows Media 和DirectX幾乎都已經應用到Windows CE 3.0平台上了。這些包括有Windows Media Technologies 4.1、Windows Media Player 6.4 Control、DirectDraw? API、DirectSound? API、和DirectShow? API,熟悉PC的讀者一定知道,其主要功能就是針對圖形、影音解碼編碼與多媒體訊號處理設計的套件。<BR><BR> <BR><BR>系統發展環境<BR>Windows CE 的發展環境微軟將之包裝為 Windows CE Platform Builder 3.0,裡面含有Platform Builder 3.0 用來建立目標(Target)平台上的作業系統組態,此軟體必須在Windows NT 4.0 SP5以上或Windows 2000 專業版上面執行,透過系統組態選擇CPU和其他週邊套件內建軟體,組出來的系統影像檔則由並列埠傳送到Target上去執行,如果需要偵錯的話則可以透過串列埠或網路卡連線。另外Microsoft eMbedded Visual Tools 用來發展應用程式,可以在Windows 98 SE版或上述的平台上面執行,支援的程式語言有eMbedded Visual Basic 3.0 和eMbedded Visual C++ 3.0目前可以直接到微軟的網站去下載。<BR><BR>講到發展環境就不得不提除錯器,通常除錯往往就會占掉大半的產品開發時間,因此覺大都數的Complier或作業系統廠商會整合Debug於開發環境中。Platform Builder 目前支援的除錯環境統稱為System Level Debuger,其功能可以透過硬體輔助(例如JTAG Emulator)來做除錯的動作,這一方面通常應用在驅動程式和設備間的訊號測試或是OS載入前後韌體和硬體間訊號偵錯,對於硬體或任體開發廠商都是必須的。此外還有Source Level Debuger,有過PC上Debug應用程式的讀者一定可以體會到其便利性,在這個Debug模式下發生錯誤的機器碼點,可以直接追朔到你的高階VC或VB程式片段的相對處。<BR><BR> <BR><BR> <BR><BR> <BR><BR>結語<BR>與其他IA作業系統平台相較Microsoft Windows CE 3.0 有它豐富的軟體函式庫與Time to Market的優勢,它所涵蓋的產品領域也較為廣泛。然而在沒有附原始碼的情況下,短期間的確讓許多廠商卻步。此外,授權費用和硬體需求(參考Compaq iPAQ Technical Specs為例)也相對較高。在未來的終端裝置如三大IA產品Smart Handheld Device、NetTV、和Internet Gaming Device若走向高檔化需求,而多媒體也成為主流的話,也許Windows CE 3.0將成為Windows 98的第一接棒者,掀起另一番風雲。<BR><BR><BR><BR>參考資料<BR>WINCE聯盟網站:http://wince.iseasy.com.tw/<BR><BR>Microsoft官方網站: http://www.microsoft.com/windows/embedded/ <BR><BR>WinCE Online: http://www.winceonline.com/
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:hxu 回复日期:2003-03-09 20:01:59
<br>内容:问lsmodel一个问题: windows ce.net 和 platform builder前景如何?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -