- 相關(guān)推薦
WinCE系統(tǒng)下BootLoader的開發(fā)
摘要:介紹WinCE.NET系統(tǒng)的舊方法;說明板級支持包(BSP)的基本構(gòu)成;從開發(fā)實際出發(fā),詳細(xì)闡述如何開發(fā)BSP中的重要部件--BootLoader。關(guān)鍵詞:WinCE.NET BSP BootLoader DOC
引言
Windows CE.NET是微軟公司向嵌入式領(lǐng)域推出的一款操作系統(tǒng)。它最大程度繼承了桌面版Windows操作系統(tǒng)的豐富功能,同時又副入了許多新特性,以適應(yīng)嵌入式領(lǐng)域的實際情況和要求。無論是商業(yè)應(yīng)用需求,還是人們的多媒體消費需求,都能被采用CE操作系統(tǒng)的設(shè)備很輕松的滿足。最新的.NET版本較之3.0版本,在實時性和穩(wěn)定性上有大幅度提高,開始廣泛地被平板電腦、數(shù)碼相機、彩屏手機、PDA等多種高性能產(chǎn)品所采用。
但是,CE并不是一個通用的安裝版操作系統(tǒng),在形形色色的嵌入式硬件設(shè)備世界里, 一款CE系統(tǒng)通常只會針對某一種硬件平臺生成。所以,作為原始設(shè)備生產(chǎn)商,必須根據(jù)自己的硬件平臺和應(yīng)用場合定制CE,最主要的工作就是編寫適合于自己的板級支持包(BSP)。在BSP中,包含了一個重要的組成部分——BootLoader。創(chuàng)建一未功能完善的BootLoader,是開發(fā)WinCE系統(tǒng)的第一步,也是極為關(guān)鍵的一步。本文將結(jié)合開發(fā)實例,介紹如何開發(fā)適合于自己硬件的BootLoader。
1 定制CE操作系統(tǒng)的基本知識
定制CE操作系統(tǒng)是采用微軟的工具軟件:Platform Builder(PB)。該工具能夠根據(jù)用戶的需求,選擇構(gòu)建具有不同內(nèi)核功能的CE系統(tǒng)。同時,它也是一個集成的編譯環(huán)境,可以為所有CE支持的CPU目標(biāo)代碼編譯C/C++程序。前面所說的BSP和BootLoader程序就是在該環(huán)境下編譯,并整合到CE系統(tǒng)中去的。一旦成功地編譯了一個CE系統(tǒng),就會得到一個名為nk.bin的映像文件。只要將該文件下載到目標(biāo)平臺(device端),就能夠運行CE了。
2 BootLoader
BootLoader是一段單獨的程序代碼,它存放于目標(biāo)平臺的非易失存儲介質(zhì)中,如ROM或Flash。在開發(fā)CE的過程中,它主要用于啟動硬件和下載nk.bin到目標(biāo)板上,并有一定的監(jiān)控作用。
圖1描述了WinCE的BSP基本結(jié)構(gòu)以及BootLoader所處的位置。
一般來說,對于BootLoader的功能要求并不是嚴(yán)格定義的,不同的場合區(qū)別很大。比如,在PC的硬件平臺上,由于硬件啟動根本就不是通過BootLoader(而是通過BIOS),所以BootLoader就不需要對CPU加電后的初始化做任何工作;而在筆者的開發(fā)平臺(MIPS32)上,BootLoader是最先被執(zhí)行的程序,所以就必須包括加電初始化程序。通常,BootLoader必須包含下載CE映像文件的功能。另外,管理監(jiān)控硬件設(shè)備通常也是必須的,因為這可以極大地方便工程開發(fā)。由于BootLoader涉及到基本的硬件操作,如CPU的結(jié)構(gòu)、指令等,同時又涉及到以太網(wǎng)下載協(xié)議(TFTP,當(dāng)然也可能通過串口)和策軟設(shè)定的映像文件格式。因此從零實現(xiàn)的話,會需要
[1] [2] [3] [4] [5]
【W(wǎng)inCE系統(tǒng)下BootLoader的開發(fā)】相關(guān)文章:
基于WinCE的掌上機與全站儀通訊系統(tǒng)研究與開發(fā)04-27
CIMS環(huán)境下飛行控制系統(tǒng)的投標(biāo)決策系統(tǒng)的開發(fā)與實現(xiàn)04-30
Linux操作系統(tǒng)下射電望遠(yuǎn)鏡控制軟件的開發(fā)05-03
Delphi下基于GIS的某邊防管控信息系統(tǒng)開發(fā)04-27
總結(jié):教學(xué)系統(tǒng)開發(fā)04-25
開發(fā)防塵室真空新系統(tǒng)04-27
磁懸浮系統(tǒng)關(guān)鍵部件的開發(fā)04-30