Windows CE.NET在S3C2410處理器上的移植
3.1 移植流程
從根本上說,Windows CE。NET的移植過程也就是改寫B(tài)SP的過程。BSP又稱板級(jí)支持包,它是一個(gè)包括啟動(dòng)程序、OEM適配層程序(OAL)、標(biāo)準(zhǔn)開發(fā)板(SDB)和相關(guān)硬件設(shè)備的驅(qū)動(dòng)程序的軟件包。BSP是基于Windows CE。NET平臺(tái)系統(tǒng)的主要部分。操作系統(tǒng)移植步驟為:
1)對(duì)操作系統(tǒng)進(jìn)行裁減,配置各個(gè)組件并且修改相關(guān)的配置文件;
2)開發(fā)目標(biāo)設(shè)備系統(tǒng)上的設(shè)備驅(qū)動(dòng)程序,建立定制的CE操作系統(tǒng)映像文件;
3)將目標(biāo)文件下載到目標(biāo)設(shè)備上進(jìn)行調(diào)試;
4)定制操作系統(tǒng)內(nèi)核后,導(dǎo)出平臺(tái)SDK,供在Embedded Visual C++中開發(fā)上層應(yīng)用軟件。
移植流程見圖3
開發(fā)工具Platform Builder自身就提供了多種目標(biāo)板的BSP。如果用戶的目標(biāo)板和Platform Builder提供的相同,那么只需要重新編譯生成相應(yīng)的系統(tǒng)鏡像下載到目標(biāo)板即可。但是實(shí)際情況更多的可能是處理器相同,而板上的外圍設(shè)備接口不同,這時(shí)候只有修改Platform Builder中相同或相近的處理器的BSP來生成一個(gè)新的BSP,這樣就可以大大減少BSP的研發(fā)周期。
3.2 基于S3C2410板的BSP開發(fā)
BSP的開發(fā)主要包括Bootloader、OAL、本地驅(qū)動(dòng)程序的開發(fā)以及一些文件的配置 。
1)Bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。它存放于目標(biāo)平臺(tái)的非易失性存儲(chǔ)介質(zhì)中,如ROM 或Flash。本文移植使用的是華恒公司提供的ppcboot。
2)OAL即設(shè)備商適配層中位于Windows CE內(nèi)核和目標(biāo)硬件平臺(tái)之間的一個(gè)代碼層。開發(fā)OAL的目的是為了實(shí)現(xiàn)Windows CE。NET內(nèi)核和目標(biāo)硬件之間的通信,包括處理中斷、定時(shí)器等。
評(píng)論