總的來說,WinCE的開發是分為:
一、硬件開發:硬件設計,Boot Loader開發,OAL開發,BSP開發
二、操作系統開發:定制驅動,創建最小內核,定制操作系統組件,測試集成
三、應用程序開發:開發特定的應用程序和中間件
通常基於WinCE的開發必須完成的任務:
1.創建基於特定目標設備的BSP
2.創建基於標准的BSP或定制BSP的操作系統設計,用來創建操作系統運行映像,並將映像下載到目標設備硬件平台上
3.為目標BSP創建或定制設備驅動
4.為定制操作系統設計添加或定制子工程或操作系統組件
5.創建操作系統運行時映像,並將映像下載到標准開發板,然后應用Windows CE提供的調試工具調試操作系統運行時的映像
6.當操作系統運行后映像創建完成時,為應用程序開發者導出SDK
再上張圖,然后做名詞解釋
首先,BSP(板級支持包,Board Support Packet)是一個支持特定標准開發板(SDB,Standed Development Board)硬件的WinCE軟件集成包,主要包括Boot Loader程序,OAL程序和板載硬件驅動程序
一個目標板的BSP開發主要有以下幾個大的流程:
1.建立BootLoader,用來下載映像,啟動系統。
2.編寫OAL程序,用來引導系統核心映像和初始化、管理硬件。
3.為新的硬件編寫硬件驅動。
4.設置平台配置文件,便於Platform Builder編譯系統。
其中,Boot Loader 就是在操作系統內核運行之前運行的一段小程序,大家應該都很熟悉,或許以后還會再詳細說一下,不明白的同學就去百度知道一下吧,而OAL(OEM 適配層,OEM Adaptation Layer),它是BSP驅動的一部分,作用是讓WinCE在OEM的硬件上運行起來,下圖說明了內核和硬件的各個部分如何通過OAL組織起來的:
可以說,WinCE的硬件開發主要就是BSP開發,而此開發通常是由嵌入式主板廠商完成,通常是一個移植和局部修改的過程,而操作系統的定制開發,通常是一個選擇組件和對組件進行配置的過程,一般用PB(Platform Builder)完成,在VS2005里也是類似的;而這里面有關驅動的,也暫時跳過,以后再,說至於應用程序的開發,分為本地應用程序和托管應用程序,而在其中,有個定制導出SDK(軟件開發工具包,Software Development Kit)的過程。