<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è) > 嵌入式系統 > 設計應用 > 基于S3C2440A的Windows CE系統快速啟動(dòng)方案

基于S3C2440A的Windows CE系統快速啟動(dòng)方案

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

0 引言
微軟的 是被廣泛使用的嵌入式之一。在產(chǎn)品的研究開(kāi)發(fā)中,一些嵌入式操作速度所花時(shí)間比較長(cháng),Wind-ows 也不例外。由于各種因素的影響,有些情況下甚至超過(guò)1 min。而在實(shí)際的嵌入式電子產(chǎn)品中客戶(hù)需要體驗一個(gè)極速爽快而又穩定的系統,避免長(cháng)時(shí)間等待。因此,如何 系統是一個(gè)很重要的內容。本文將三星公司的處理器和 CE
系統,分析Windows CE的啟動(dòng)原理和影響其啟動(dòng)速度的原因,給出加快啟動(dòng)的。

1 Windows CE的啟動(dòng)過(guò)程
一般嵌入式系統的引導過(guò)程如圖1所示。其中引導加載程序(BootLoader)是系統加電后運行的第一段代碼,主要是通過(guò)設置寄存器初始化硬件的工作方式,如設置時(shí)鐘、中斷控制寄存器等,完成內存映射、初始化MMU等。其次是系統執行環(huán)境的初始化,將系統內核(Kernel)和應用程序的映像從只讀存儲器加載或拷貝到系統的RAM中執行,完成系統內核的加載以及應用程序的啟動(dòng)等。

本文引用地址:http://dyxdggzs.com/article/150877.htm


1.1 BootLoader的啟動(dòng)
BootLoader是在操作系統內核運行之前運行的一段小程序,它可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),為調用操作系統內核準備好環(huán)境。引導程序完成自己的任務(wù)后,就將控制權移交給內核。通常引導程序是放置在不易丟失的快閑存儲器的開(kāi)始地址或者是系統冷啟動(dòng)時(shí)PC寄存器的初始值。
1.2 內核啟動(dòng)時(shí)加載過(guò)程
BootLoader按照Windows CE啟動(dòng)方式的不同可分為2大類(lèi):下載模式和啟動(dòng)加載模式。當BootLoader把nk.bin解壓到RAM后就把CPU控制權交給Windows CE內核。
啟動(dòng)加載模式是BootLoader的正常加載模式,BootLoader從存儲介質(zhì)將操作系統加載到RAM中,并從RAM中啟動(dòng)運行操作系統。該過(guò)程并沒(méi)有用戶(hù)的介入。
下載模式則是BootLoader從開(kāi)發(fā)工作站下載操作系統映像文件到目標設備的RAM,然后再將它寫(xiě)到目標設備的FLASH等存儲介質(zhì)中。該過(guò)程要通過(guò)串口線(xiàn)或網(wǎng)絡(luò )連接等通信手段從主機(Host)下載文件。因此,不同的加載模式會(huì )直接影響內核啟動(dòng)加載時(shí)間。

2 影響Windows CE啟動(dòng)速度的主要因素
影響系統啟動(dòng)時(shí)間的因素可以從系統本身和硬件2個(gè)方面考慮。
2.1 系統加載
系統在啟動(dòng)時(shí)涉及到BootLoader、內核加載、初始化進(jìn)程、硬件的驅動(dòng)程序和接口程序以及應用程序組等。因此Windows CE啟動(dòng)速度要與引導程序初始化時(shí)間、內核加載時(shí)間、硬件驅動(dòng)的加載時(shí)間、應用程序的加載時(shí)間等有著(zhù)直接的關(guān)系。
2.2 硬件
顯然,CPU的頻率及效率、內存的大小及類(lèi)型等直接影響著(zhù)系統的啟動(dòng)速度。例如ARM7和ARM9對運行系統的速度是明顯不一樣的,另外,內存方面選擇NoR FLASH還是NAND FLASH其也會(huì )對啟動(dòng)速度有一定的影響。

3 Windows CE啟動(dòng)的
啟動(dòng)Windows CE的大致有下面幾種。由于實(shí)驗條件的限制,本文主要討論內核體積、使用Multi-bin技術(shù)、串口打印輸出、不同注冊表形式對啟動(dòng)速度的影響。
3.1 使用合理的閃存和選擇適當的Windows CE內核的運行方式
當前應用于嵌入式系統的FLASH從制作工藝角度講主要分為2種:NOR FLASH與NANDFLASH。NOR的特點(diǎn)是芯片內執行(Execute In Place,XIP),這樣應用程序可以直接在NOR FLASH中直接運行,而無(wú)需再把代碼讀到系統的RAM中,但是很低的寫(xiě)入和擦除速度大大影響了它的性能。NAND結構能提供極高的單元密度,可以達到高存儲密度,并且寫(xiě)入和擦除的速度也很快,但在使用時(shí)必須先寫(xiě)入驅動(dòng)程序,而且,由于不能向壞塊寫(xiě)入,這就需要在NAND FLASH上自始自終都必須進(jìn)行虛擬映射,可能會(huì )產(chǎn)生額外的時(shí)間花費。因此,選擇不同閃存對啟動(dòng)速度有一定的影響。
也正因為上面2種閃存的特點(diǎn)不同,Windows CE的運行方式直接與它們有關(guān),可以分為2類(lèi),一是在NOR FLASH上直接運行,二是用NAND FLASH來(lái)存儲,再加載到內存中運行。前者把內核的可執行映像燒寫(xiě)到FLASH上,可以實(shí)現XIP;而后者是先把內核的壓縮文件放在FLASH上,啟動(dòng)時(shí)先解壓,再執行。因此,在NOR FLASH上直接運行會(huì )速度更快。


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

評論


相關(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>