<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Intel PXA270的Windows CE5.0下Boot Loader實(shí)現

基于Intel PXA270的Windows CE5.0下Boot Loader實(shí)現

作者: 時(shí)間:2012-05-17 來(lái)源:網(wǎng)絡(luò ) 收藏

Windows CE.NET是微軟公司向嵌入式領(lǐng)域推出的一款操作系統,被廣泛應用于平板電腦、數碼相機、彩屏手機、PDA等許多產(chǎn)品當中。

Windows CE的開(kāi)發(fā)過(guò)程可以分為:0AL(OEM Abstraction Layer)、驅動(dòng)、應用程序開(kāi)發(fā)三個(gè)步驟。其中,0AL開(kāi)發(fā)是Windows CE開(kāi)發(fā)過(guò)程中最基本的一步,而B(niǎo)oot Loader設計在0AL開(kāi)發(fā)中又具有極為關(guān)鍵的作用。因此,本文以Windows CE 5.0在Xscale 處理器上的Ethernet Boot Loader的設計和實(shí)現為例,對Boot Loader的實(shí)現進(jìn)行闡述,并分析Boot Loader的架構、啟動(dòng)控制流程和配置安裝。

對于Windows CE嵌入式操作系統來(lái)說(shuō),系統加電后第一條指令就是Boot Loader的代碼。Boot Loader通常位于目標設備上的非易失存儲設備中(如Flash),并且在系統加電或重置時(shí)自動(dòng)執行。通??梢酝ㄟ^(guò)JTAG或串口工具把Boot Loader燒寫(xiě)到目標設備上,Boot Loader的唯一目標就是加載并執行操作系統映像。

在嵌入式應用系統最終產(chǎn)品化后,Boot Loader將不是必須的。因為Windows CE不僅提供了利用Boot Loader加載系統的啟動(dòng)方式,而且提供了通過(guò)啟動(dòng)向量ResetVector 加載系統的啟動(dòng)方式。但在系統開(kāi)發(fā)階段,Boot Loader是必須的,它將使開(kāi)發(fā)更加方便高效。

硬件平臺架構

處理器采用英特爾的XScale 系列處理器,可以配合2700G多媒體加速器,提升高分辨率圖像處理和3D加速處理能力。硬件開(kāi)發(fā)板的外設包括外部存儲器、串口和DM9000AE 100Mb以太網(wǎng)接口芯片。Boot Loader的體系結構

一個(gè)典型的以太網(wǎng)Boot Loader由Blcommon、OEM代碼(針對不同硬件平臺需要修改代碼)Eboot和網(wǎng)絡(luò )驅動(dòng)程序等部分組成組成,如圖1所示。

圖1 Boot Loader框架結構


● Blcommon庫

BLCOMMON庫提供了豐富Boot Loader基本功能,包括復制Boot Loader到RAM 以便高速運行,解析 .bin文件,控制系統加載過(guò)程等等。代碼庫一般放置在%_WINCEROOT% PUBLICCOMMONOAKDRIVERS ETHDBGBLCOMMON。其主要文件為blcommon.c。

● OEM代碼

OEM代碼是與設備初始化及硬件擴展有關(guān)的代碼,位置在%_WINCEROOT% PLATFORM平臺名稱(chēng)>SRCBOOTLOADER EBOOT。

● EBoot庫

Eboot庫提供了DHCP、TFTP和UDP服務(wù)。BooLoader與Platform Builder建立TFTP連接.并下載系統鏡像。其中TFTP用于從開(kāi)發(fā)工作站的Platform Builder下載Windows CE操作系統鏡像(這是本文所使用的加載調試方式)。Eboot庫代碼位于%_WINCEROOT% PUBLIC COMMONOAKDRIVERS ETHDBGEBOOT。

● 網(wǎng)絡(luò )驅動(dòng)庫

EDBG驅動(dòng)程序庫集成了一些常見(jiàn)以太網(wǎng)驅動(dòng),為Bootloader和操作系統訪(fǎng)問(wèn)提供了通用接口。Boot Loader利用這些接口下載Windows CE運行時(shí)映象,操作系統利用這些接口實(shí)現與Platform Builder的KITL連接。

Boot Loader啟動(dòng)控制流程

由于硬件的差異,Boot Loader的功能可能不同,圖2所示的是Boot Loader的較為通用的啟動(dòng)控制流程。

圖2 Boot Loader啟動(dòng)控制流程


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: PXA270 BootLoader WindowsCE5.0

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>