WinCE快速啟動方案_第1頁
WinCE快速啟動方案_第2頁
WinCE快速啟動方案_第3頁
WinCE快速啟動方案_第4頁
WinCE快速啟動方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

2、的啟動過程一般嵌入式系統(tǒng)的引導(dǎo)過程如圖1所示。其中引導(dǎo)加載程序(BootLoader)是系統(tǒng)加電后運 行的第一段代碼,主要是通過設(shè)置寄存器初始化硬件的工作方式,如設(shè)置時鐘、中斷控制寄 存器等,完成內(nèi)存映射、初始化MMU等。其次是系統(tǒng)執(zhí)行環(huán)境的初始化,將系統(tǒng)內(nèi)核(Kernel) 和應(yīng)用程序的映像從只讀存儲器加載或拷貝到系統(tǒng)的RAM中執(zhí)行,完成系統(tǒng)內(nèi)核的加載以及 應(yīng)用程序的啟動等。引睡由責(zé)程序J) JUjftK-dlK-lf 內(nèi)棒由n耗 Mg二)普卻典出程序推帷廄崎內(nèi)收文件1KSE用廣應(yīng)用救件游】一般我入式票院的引導(dǎo)晚秋1 BootLoader 的啟動BootLoader是在操作系統(tǒng)內(nèi)核運行之前運

3、行的一段小程序,它可以初始化硬件設(shè)備、 建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為調(diào)用操作系統(tǒng)內(nèi) 核準(zhǔn)備好環(huán)境。引導(dǎo)程序完成自己的任務(wù)后,就將控制權(quán)移交給內(nèi)核。通常引導(dǎo)程序是放置 在不易丟失的快閑存儲器的開始地址或者是系統(tǒng)冷啟動時PC寄存器的初始值。2內(nèi)核啟動時加載過程BootLoader按照Windows CE啟動方式的不同可分為2大類:下載模式和啟動加載模式。 當(dāng)BootLoader把nk. bin解壓到RAM后就把CPU控制權(quán)交給Windows CE內(nèi)核。啟動加載模式是BootLoader的正常加載模式,BootLoader從存儲介質(zhì)將操作系統(tǒng)加載 到RAM中,并

4、從RAM中啟動運行操作系統(tǒng)。該過程并沒有用戶的介入。下載模式則是BootLoader從開發(fā)工作站下載操作系統(tǒng)映像文件到目標(biāo)設(shè)備的RAM,然 后再將它寫到目標(biāo)設(shè)備的FLASH等存儲介質(zhì)中。該過程要通過串口線或網(wǎng)絡(luò)連接等通信手段 從主機(jī)(Host)下載文件。因此,不同的加載模式會直接影響內(nèi)核啟動加載時間。2影響Windows CE啟動速度的主要因素影響系統(tǒng)啟動時間的因素可以從系統(tǒng)本身和硬件2個方面考慮。1系統(tǒng)加載系統(tǒng)在啟動時涉及到BootLoader、內(nèi)核加載、初始化進(jìn)程、硬件的驅(qū)動程序和接口程序 以及應(yīng)用程序組等。因此Windows CE啟動速度要與引導(dǎo)程序初始化時間、內(nèi)核加載時間、 硬件驅(qū)動的

5、加載時間、應(yīng)用程序的加載時間等有著直接的關(guān)系。2硬件顯然,CPU的頻率及效率、內(nèi)存的大小及類型等直接影響著系統(tǒng)的啟動速度。例如ARM7 和ARM9對運行系統(tǒng)的速度是明顯不一樣的,另外,內(nèi)存方面選擇NoR FLASH還是NAND FLASH 其也會對啟動速度有一定的影響。3 Windows CE快速啟動的方案快速啟動Windows CE的方案大致有下面幾種。由于實驗條件的限制,本文主要討論內(nèi)核 體積、使用Multi-bin技術(shù)、串口打印輸出、不同注冊表形式對啟動速度的影響。1使用合理的閃存和選擇適當(dāng)?shù)腤indows CE內(nèi)核的運行方式當(dāng)前應(yīng)用于嵌入式系統(tǒng)的FLASH從制作工藝角度講主要分為2種:

6、NOR FLASH與NANDFLASH0 NOR的特點是芯片內(nèi)執(zhí)行(Execute In Place XIP),這樣應(yīng)用程序可以直接在 NOR FLASH中直接運行,而無需再把代碼讀到系統(tǒng)的RAM中,但是很低的寫入和擦除速度大 大影響了它的性能。NAND結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲密度,并且寫入和 擦除的速度也很快,但在使用時必須先寫入驅(qū)動程序,而且,由于不能向壞塊寫入,這就需 要在NAND FLASH上自始自終都必須進(jìn)行虛擬映射,可能會產(chǎn)生額外的時間花費。因此,選 擇不同閃存對啟動速度有一定的影響。也正因為上面2種閃存的特點不同,Windows CE的運行方式直接與它們有關(guān),可以

7、分為 2類,一是在NOR FLASH上直接運行,二是用NAND FLASH來存儲,再加載到內(nèi)存中運行。前 者把內(nèi)核的可執(zhí)行映像燒寫到FLASH上,可以實現(xiàn)XIP;而后者是先把內(nèi)核的壓縮文件放在 FLASH上,啟動時先解壓,再執(zhí)行。因此,在NOR FLASH上直接運行會速度更快。2精簡Windows CE內(nèi)核體積和加載內(nèi)容在Windows CE啟動過程中,加載內(nèi)核過程和加載內(nèi)核之后所占時間是不一樣的,前者 是從NANDFLASH加載內(nèi)核到內(nèi)存,占了絕大多數(shù)時間,后者其實只占很小的一小部分時 間。因此,可以通過縮短加載內(nèi)核過程中的時間來實現(xiàn)縮短啟動時間。要做到這一點,可以 通過縮小內(nèi)核來實現(xiàn)。也就

8、是組件全部根據(jù)所需要的來定制,刪除掉所有不必要的組件。其 中,最有效的辦法之一是縮減字體,去除不需要的其他國家的字庫。另一方面,內(nèi)核在啟動時會有很多靜態(tài)和延遲加載依賴項,尤其是各種安全性DLL, 這肯定增加啟動時間。啟動時加載的驅(qū)動程序、設(shè)備和自啟動程序也會占用一定的時間。因 此,在設(shè)備能正常啟動和應(yīng)用的情況下,應(yīng)以精簡的原則,以最小化來加載設(shè)備驅(qū)動和啟動 程序,以最少數(shù)量的組件和驅(qū)動來啟動系統(tǒng),減少不必要的時間延遲。例如可以精簡設(shè)備上 的外殼程序和啟動界面等。3使用Multi-bin技術(shù)Windows CE中提供了 Multi-bin的功能。字面上Multi-bin是多個bin的意思,它將整

9、個 內(nèi)核映像分成幾部分,在Windows CE啟動時可只加載核心部分,這樣就能有效提高Windows CE的啟動速度。方法如下:首先,修改Eboot,使其支持BinFN(Binary Rom Image File System)文件系統(tǒng),支持 Multi-bin的下載和燒寫,同時在注冊表platfor-m. reg中增加BinFN分區(qū)。其次,修改配置文件 config. bib,根據(jù)實際情況設(shè)置各分區(qū)空間和類型;并對 XIPKERNEL進(jìn)行規(guī)劃,將最小化系統(tǒng)內(nèi)核打包到其中,即在project. bib中的modules和 Files中添加必須的內(nèi)核文件,例如系統(tǒng)必須加載組件有nk. exe,

10、coredll. dll, filesys. exe, fatfsd.dll, diskcaehe. dll, Fatutil. dll, binfs. dll, fsdmgr. dll, mspart. dll, smFLASH. dll, boot. hv 等。最后,在用Platform Builder定制內(nèi)核時系統(tǒng)選用的RAM and ROM File System文件系 統(tǒng),注冊表格式選用Hive-based Registry,它支持永久保存。這樣經(jīng)過編譯后,將生產(chǎn)的xip. bin和XIPKERNEL. bin文件在EBoot. nb0的引導(dǎo)下 進(jìn)行燒寫,完成Windows CE的燒

11、寫工作并可以使用Wi-ndows CE系統(tǒng)。3. 4關(guān)閉串口輸出Windows CE在啟動時把很多啟動信息狀態(tài)輸出,因為串口 RETAILMSG等輸出打印信 息要花一定的時間,故在編譯沒有出錯的情況下把串口輸出信息關(guān)閉,也可以提高啟動速度。 做到這點可以在Debug. c文件中去除OEMWriteDebugByte(), OEMReadDebugByte()函數(shù)的 輸出內(nèi)容。5選擇適當(dāng)?shù)淖员矸绞阶员矸譃榛赗AM的注冊表(RAM-Based Registry)和基于Hive的注冊表(Hive-Based Registry )兩種方式,一般都用于記錄著所有應(yīng)用程序和硬件外設(shè)的驅(qū)動信息?;赗

12、AM的注冊表把整個注冊表作為一個對象存儲堆存放在系統(tǒng)的內(nèi)存中,如果對系 統(tǒng)進(jìn)行冷啟動或者系統(tǒng)斷電,對注冊表的所有改動都會使存儲的數(shù)據(jù)丟失,所以基于對象存 儲方式實現(xiàn)的注冊表一般用于較少斷電的系統(tǒng),或一般不需要冷啟動的系統(tǒng)。但如果使用基 于RAM的注冊表,它會使系統(tǒng)速度更快,占用空間更小,對注冊表的讀寫訪問操作會變得 非常高效,系統(tǒng)開發(fā)者應(yīng)提供一種使系統(tǒng)能夠在斷電前后備份和恢復(fù)注冊表的方法,通常這 種備份和恢復(fù)注冊表的方法的缺點是需要兩次啟動,在啟動過程中必須多一次熱啟動才能使 恢復(fù)的注冊表有效,因此效率相對比較低。基于HIVE結(jié)構(gòu)存儲的注冊表使用文件存儲注冊表數(shù)據(jù),它與系統(tǒng)使用的文件系統(tǒng)的類

13、型無關(guān)。這種方式使系統(tǒng)斷電前后無須備份和恢復(fù)注冊表數(shù)據(jù),這使系統(tǒng)冷啟動時速度更快??傊?,基于RAM的注冊表在經(jīng)常熱啟動的設(shè)備上是非常高效的,在經(jīng)常冷啟動的設(shè)備 中性能卻讓人失望;而基于Hive的注冊表在經(jīng)常冷啟動或不常熱啟動的設(shè)備中非常高效。 因此,采用不同的類型也會影響Windows CE的啟動效率,用戶應(yīng)根據(jù)實際情況進(jìn)行合理選 擇。4實驗與分析1實驗平臺(1)硬件平臺。ARM處理器為三星公司的S3C2440A,標(biāo)稱工作頻率為400 MHz;存儲器 包括 2 片 32 MB SDRAM, 1 片 64 MB 的 NAND FLASH;設(shè)備模塊包括 USB, LCD, UART。(2)軟件平臺

14、。Bootloader: bootloader VER-5. 0;操作系統(tǒng):Windows CE5. O;開發(fā)工 具:Platform Builder 5. 0。2實驗條件在建立PB工程時選擇移動手持設(shè)備(Mobile Handheld)模板,其他組件選擇如表1所示,就可以實現(xiàn)支持MFC編程、文字表格編輯、MP3播放的手持設(shè)備系統(tǒng),在該系統(tǒng)下得到表 1數(shù)據(jù)。*1蛆件的揪擇MobiEeHand heldRAM And Rom FiteSystemHive-Based Registry丈偉存倒Binary RomFie SystemFAT File System簡侏中丈字體文榆SimSuTi &

15、NsimSun其他丸掙Microsoft Foundation Classes tMFO、 word、ppt、pdf解、? xcck Wi nia ws Player v Mp3 CodecA 2權(quán)化前后所用時間的比較(一相閔內(nèi)核及鮑件下的優(yōu)化內(nèi)容 花時 TOC o 1-5 h z 未化陌時23*38使用 Muhi-b油我束1X14笑閉本口席曲林息!4.75表2為實現(xiàn)MP3播放功能精簡系統(tǒng)前后的比較。精簡前的方法是選擇移動手持設(shè)備 (MobileHandheld)模板,加入MP3支持;精簡后的方法是選擇CustomDevice模板,只選擇 MP3 Codec,wMA and MP3Stream

16、ing和 Windows Media Player就可以實現(xiàn) MP3 播放,不加 入其他所有不必要的組件,從而減小內(nèi)核體積。表3、表4的數(shù)據(jù)都是基于MobileHandheld 模板下不同注冊表RAM和Hive下得到的數(shù)據(jù)。廉*校讓尊后原用H回的比整二不同內(nèi)址黑坦件下村巳北精國均核*I?. 3$峭國內(nèi)社岳14-1S3實驗結(jié)果及分析表2至表4中對比了相應(yīng)優(yōu)化帶來啟動時間的比較,時間的計算使從開始啟動到進(jìn)入 windows CE界面為止。從表2可以看出,使用Multi-bin技術(shù)可以很大提升啟動速度,縮短 了啟動時間;而串口輸出信息也有一定的影響,特別是在輸出信息很多的情況下,所占用的 時間是不可忽視的。另外,表3則表明,內(nèi)核、組件等的構(gòu)成系統(tǒng)大小也直接影響著啟動的速度,故應(yīng)當(dāng)盡 量減少系統(tǒng)不必要的內(nèi)核和組件。衰4不周注珊衰下的比貌一在相同內(nèi)核底如件下毒律況住埒散酎死時為慕于HIV的推JJ盒的啟動3 7.2募于R氏M的洼此*_的啟新15. 60衰5不同注冊褰下的比較二|裾陽闕權(quán)段H件下停故建解蠢岳耗時A基于H】V的it割黑仙虞動16.M暴于RAM的適焉里的g動由 醒在1於希君爭J6理案】宏再唐動)J10b由表4、表5可以看出,在沒有修改注冊表的時候,使用基于R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論