摘 要:對Windows CE的系統結構、功能及特點的全面了解為基礎,結合實際開發經歷,總結出了Windows CE操作系統鏡像的定制、生成、調試以及應用程序的開發、發布的一般方法和步驟。
關鍵詞:嵌入式操作系統Windows CE內核定制
中圖分類號:TP316文獻標識碼:A文章編號:1674-098X(2011)06(a)-0020-01
嵌入式操作系統內核精小、效率高,具有大量的應用程序接口(API),開發應用程序簡單,而且嵌入式應用軟件非常豐富。在眾多嵌入式操作系統中,Microsoft推出的Windows CE是目前最具應用前景的嵌入式系統之一。
Windows CE具備完整的操作系統特性和端對端開發環境,可以為有限資源的硬件設計多線程、完整優先級、多任務的操作系統。Windows CE為開發人員提供了一個相當不錯的集成開發環境VS2005,開發人員使用這個集成開發環境就可以根據它的提示完成操作系統鏡像的定制、編譯與調試工作,并可在此環境中進行應用軟件、驅動程序的開發。
1 Windows CE系統開發過程
定制一個基于Windows CE的平臺操作系統涉及到使用第三方的OS配置中的核心組件、添加或刪除組件,將平臺按照目標平臺定制,添加一個BSP,創建一個OEM適配層OAL,并且創建一個引導程序等工作。Windows CE應用系統的開發流程如圖1所示。
1.1 OAL的定制
這一步是BSP的開發過程。用戶可以通過創建一個OAL來實現操作系統內核與串行口、并行口和定時器等硬件設備之間的通信。OAL也包括硬件中斷處理和電源管理接口以及系統啟動時的硬件檢測和初始化。創建OAL的幾個階段:初始化內核,這一階段的目的是完成必要的資源配置描述,例如微處理器工作所需要的內存的布局;創建一個基本OAL,這個階段主要完成啟動時初始化平臺,包括打開調試端口,以便進行調試,初始化通信環境,并且建立系統時鐘周期;增強OAL功能,在這一階段,實現中斷服務例程(ISR),管理時鐘和定時器,并且為應用程序提供平臺的信息;完成OAL,在這一階段中,可以實現任何附加特性,例如,可以創建日志進程,創建驅動程序開發包(DDK),定義擴展內存,支持高精度的時鐘,并且配置注冊表。一旦OAL設計完成,用戶就可以將它與內核靜態連接(如圖1)。
1.2 生成操作系統鏡像
用戶可以先設計好平臺所要實現的一些主要功能,通過VS2005來增加和刪除某些組件來定制目標平臺。用戶可以創建的組件包括應用程序,如設備驅動程序之類的動態鏈接庫,靜態庫和一個傳輸層。一個設備驅動程序連接OS和一個設備,使OS可以識別設備并將設備的服務提供給應用程序。傳輸層是用作進行主機和一個相連的設備進行通信的。如果要導出自己定制的軟件開發包SDK,就需要用到傳輸層。 在創建或加入部分組件后,修改相應的配置文件,最后編譯生成二進制OS鏡像文件NK.BIN,也就是平臺最終要用的Windows CE內核。
1.3 下載到目標平臺
當生成NK.BIN文件后,使用BootLoader,經過一些設置,便可以通過以太網或并行口可以將NK.BIN下載到目標平臺的SRAM中,或燒入到FlashROM中,Windows CE操作系統隨之啟動。
在生成OS鏡像文件NK.BIN之后,可以導出SDK。當開發好基本操作系統平臺后,可以利用VS2005將該平臺的SDK導出。導出的SDK是一個自解壓可執行文件,可以為平臺上其他應用程序的開發提供支持。一旦創建了SDK,開發者就可以將SDK安裝在一臺裝有VS2005的計算機上,然后可以開發基于此系統的應用程序。
2 結束語
Windows CE作為一種嵌入式操作系統,既具有嵌入式系統所要求的實時性、內存小等特性,又具有Windows系統的許多共性。同時VS2005給嵌入式系統應用程序的開發提供了極大的方便。因此,利用Windows CE開發嵌入式系統不僅可以獲得最好的性能,而且可以縮短開發周期和降低風險。
參考文獻
[1]張冬泉.Windows CE實用開發技術[M].北京:電子工業出版社,2006.
[2]白浪.WINCE.NET系統下BootLoader的開發[J].單片機與嵌入式系統應用,2004(2):530.
[3]周毓林,寧楊,陸貴強等.Windows CE.net內核定制及應用開發[M].北京:電子工業出版社,2005.