資料介紹
Windows CE是微軟推出的一款32位的嵌入式操作系統(tǒng)。它具有良好的多媒體功能和友好的人機(jī)交互界面,支持PowerPC、X86、ARM和MIPS等多個(gè)系列處理器的體系結(jié)構(gòu),并為所支持的處理器提供完善的系統(tǒng)庫(kù)[1]。它還提供了完善的設(shè)備驅(qū)動(dòng)程序和軟件開(kāi)發(fā)包,大大縮短了開(kāi)發(fā)周期,節(jié)約了電子智能產(chǎn)品的上市時(shí)間。在這些產(chǎn)品開(kāi)發(fā)過(guò)程中,系統(tǒng)啟動(dòng)時(shí)間的時(shí)延是影響客戶體驗(yàn)(QoE)的重要因素。啟動(dòng)速度受很多因素的影響,包括定制系統(tǒng)鏡像文件的大小、系統(tǒng)內(nèi)核加載驅(qū)動(dòng)的多少、內(nèi)存占用的大小等。為了減少系統(tǒng)啟動(dòng)時(shí)延,目前比較流行的做法是在Bootloader中添加LOGO啟動(dòng)畫(huà)面,從而在視覺(jué)上降低客戶的時(shí)延感受[2]。從本質(zhì)上講,這種方法并沒(méi)有從根本上減少系統(tǒng)的啟動(dòng)時(shí)延,僅僅是從視覺(jué)的角度轉(zhuǎn)移了客戶的注意力。
本文在分析Windows CE 6.0系統(tǒng)啟動(dòng)過(guò)程的基礎(chǔ)上,設(shè)計(jì)了一種在Bootloader中實(shí)現(xiàn)BinFS文件系統(tǒng)進(jìn)而完成Multi-bin加載的方法,從而真正達(dá)到縮短啟動(dòng)時(shí)間的效果,同時(shí)還為用戶節(jié)省了大量的內(nèi)存空間。實(shí)驗(yàn)結(jié)果表明,該方法性能穩(wěn)定,可移植性強(qiáng),并已經(jīng)應(yīng)用到一款基于Samsung 2440處理器的IPTV手持式測(cè)試儀系統(tǒng)上。
1 Windows CE系統(tǒng)啟動(dòng)過(guò)程
Windows CE系統(tǒng)啟動(dòng)過(guò)程如圖1所示。

在Windows CE操作系統(tǒng)中,當(dāng)基于Windows CE的目標(biāo)設(shè)備上電啟動(dòng)或者復(fù)位時(shí),系統(tǒng)首先加載并運(yùn)行Bootloader程序,Bootloader程序進(jìn)行必要的硬件初始化,然后通過(guò)Bootloader再加載并啟動(dòng)操作系統(tǒng)內(nèi)核映像。啟動(dòng)操作系統(tǒng)內(nèi)核的過(guò)程實(shí)際上就是加載并運(yùn)行OAL(OEM Adaptation Layer)程序的過(guò)程。OAL是Windows CE操作系統(tǒng)內(nèi)核的重要組成部分,OAL并不能被單獨(dú)加載并運(yùn)行,它最終被編譯進(jìn)操作系統(tǒng)內(nèi)核,從而通過(guò)操作系統(tǒng)內(nèi)核存在并發(fā)揮作用,操作系統(tǒng)的啟動(dòng)過(guò)程就是一個(gè)加載并運(yùn)行OAL程序的過(guò)程[3]。
系統(tǒng)從啟動(dòng)加載內(nèi)核映像文件到最后的顯示桌面會(huì)有一段時(shí)間,這個(gè)時(shí)間段就是通常所說(shuō)的啟動(dòng)時(shí)延。通常情況下為10 s~13 s。為了縮短這段時(shí)延,可以將系統(tǒng)映像分為多塊,將系統(tǒng)核心啟動(dòng)部分的內(nèi)容放到內(nèi)存中,其他部分放到固態(tài)存儲(chǔ)器(如Nand Flash)中,使用BINFS文件系統(tǒng)讀出。即在系統(tǒng)啟動(dòng)過(guò)程中,先加載操作系統(tǒng)內(nèi)核映像的核心部分,而操作系統(tǒng)內(nèi)核映像的其他部分仍然駐留在Nand Flash中,需要時(shí)再?gòu)腘and Flash中進(jìn)行加載,從而大大減少開(kāi)機(jī)讀取系統(tǒng)的時(shí)間。同時(shí),也不再需要為操作系統(tǒng)預(yù)留全尺寸的內(nèi)存空間,而只需預(yù)留最小開(kāi)機(jī)核心部分的內(nèi)存空間,剩下的作為通用內(nèi)存空間。這樣就使得操作系統(tǒng)內(nèi)存的使用有了很大靈活性,同時(shí)可用系統(tǒng)內(nèi)存大大增加。從而,在根本上達(dá)到了按需加載系統(tǒng)模塊到內(nèi)存的要求。這就是所謂的Multi-bin技術(shù)。
2 Windows CE .bin鏡像文件解析與下載
由Windows CE的開(kāi)發(fā)工具Platform Build編譯生成的Windows CE操作系統(tǒng)及Bootloader的鏡像文件主要有兩種格式類型:以.bin為文件名后綴的記錄型鏡像文件和以.nb0為后綴的原始型(raw)鏡像文件。前者以記錄(Record)為單位組織鏡像的數(shù)據(jù),后者則是鏡像在嵌入式系統(tǒng)中運(yùn)行時(shí)的二進(jìn)制數(shù)據(jù)快照。其中,.bin文件是一個(gè)描述性質(zhì)的鏡像文件,它由文件頭(Head)、鏡像數(shù)據(jù)目的起始地址(ImageStart)、鏡像數(shù)據(jù)長(zhǎng)度(ImageLength)和多條相對(duì)獨(dú)立的記錄(Record)構(gòu)成。本文以實(shí)現(xiàn)Multi-bin的操作系統(tǒng)xip.bin為例進(jìn)行分析,使用UltraEdit將其打開(kāi),如圖2所示。

從圖2可以看出,文件頭(head)由7個(gè)字節(jié)組成,內(nèi)容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,這是判斷鏡像文件是.bin類型的依據(jù)。鏡像數(shù)據(jù)目的起始地址(ImageStart,00 00 07 80)由4個(gè)字節(jié)組成,它定義了鏡像文件解析后裝載在內(nèi)存中的起始地址是0x80070000。鏡像數(shù)據(jù)長(zhǎng)度(ImageLength,68 07 13 02)也由4個(gè)字節(jié)組成,它表示.bin鏡像文件解析后在內(nèi)存中占用的總的存儲(chǔ)空間大小為(0x02130768)。每條記錄(Record)由4字節(jié)的起始存儲(chǔ)地址(RecordStart)、4字節(jié)的數(shù)據(jù)長(zhǎng)度(RecordLength)、4字節(jié)的校驗(yàn)碼(RecordCheckSum)和RecordLength個(gè)字節(jié)的記錄數(shù)據(jù)(RecordData)組成。以第一條記錄(陰影部分)為例,分別為0x80070040、0x00000008、0x000001E3和0X8007004C434543454。
本文在分析Windows CE 6.0系統(tǒng)啟動(dòng)過(guò)程的基礎(chǔ)上,設(shè)計(jì)了一種在Bootloader中實(shí)現(xiàn)BinFS文件系統(tǒng)進(jìn)而完成Multi-bin加載的方法,從而真正達(dá)到縮短啟動(dòng)時(shí)間的效果,同時(shí)還為用戶節(jié)省了大量的內(nèi)存空間。實(shí)驗(yàn)結(jié)果表明,該方法性能穩(wěn)定,可移植性強(qiáng),并已經(jīng)應(yīng)用到一款基于Samsung 2440處理器的IPTV手持式測(cè)試儀系統(tǒng)上。
1 Windows CE系統(tǒng)啟動(dòng)過(guò)程
Windows CE系統(tǒng)啟動(dòng)過(guò)程如圖1所示。

在Windows CE操作系統(tǒng)中,當(dāng)基于Windows CE的目標(biāo)設(shè)備上電啟動(dòng)或者復(fù)位時(shí),系統(tǒng)首先加載并運(yùn)行Bootloader程序,Bootloader程序進(jìn)行必要的硬件初始化,然后通過(guò)Bootloader再加載并啟動(dòng)操作系統(tǒng)內(nèi)核映像。啟動(dòng)操作系統(tǒng)內(nèi)核的過(guò)程實(shí)際上就是加載并運(yùn)行OAL(OEM Adaptation Layer)程序的過(guò)程。OAL是Windows CE操作系統(tǒng)內(nèi)核的重要組成部分,OAL并不能被單獨(dú)加載并運(yùn)行,它最終被編譯進(jìn)操作系統(tǒng)內(nèi)核,從而通過(guò)操作系統(tǒng)內(nèi)核存在并發(fā)揮作用,操作系統(tǒng)的啟動(dòng)過(guò)程就是一個(gè)加載并運(yùn)行OAL程序的過(guò)程[3]。
系統(tǒng)從啟動(dòng)加載內(nèi)核映像文件到最后的顯示桌面會(huì)有一段時(shí)間,這個(gè)時(shí)間段就是通常所說(shuō)的啟動(dòng)時(shí)延。通常情況下為10 s~13 s。為了縮短這段時(shí)延,可以將系統(tǒng)映像分為多塊,將系統(tǒng)核心啟動(dòng)部分的內(nèi)容放到內(nèi)存中,其他部分放到固態(tài)存儲(chǔ)器(如Nand Flash)中,使用BINFS文件系統(tǒng)讀出。即在系統(tǒng)啟動(dòng)過(guò)程中,先加載操作系統(tǒng)內(nèi)核映像的核心部分,而操作系統(tǒng)內(nèi)核映像的其他部分仍然駐留在Nand Flash中,需要時(shí)再?gòu)腘and Flash中進(jìn)行加載,從而大大減少開(kāi)機(jī)讀取系統(tǒng)的時(shí)間。同時(shí),也不再需要為操作系統(tǒng)預(yù)留全尺寸的內(nèi)存空間,而只需預(yù)留最小開(kāi)機(jī)核心部分的內(nèi)存空間,剩下的作為通用內(nèi)存空間。這樣就使得操作系統(tǒng)內(nèi)存的使用有了很大靈活性,同時(shí)可用系統(tǒng)內(nèi)存大大增加。從而,在根本上達(dá)到了按需加載系統(tǒng)模塊到內(nèi)存的要求。這就是所謂的Multi-bin技術(shù)。
2 Windows CE .bin鏡像文件解析與下載
由Windows CE的開(kāi)發(fā)工具Platform Build編譯生成的Windows CE操作系統(tǒng)及Bootloader的鏡像文件主要有兩種格式類型:以.bin為文件名后綴的記錄型鏡像文件和以.nb0為后綴的原始型(raw)鏡像文件。前者以記錄(Record)為單位組織鏡像的數(shù)據(jù),后者則是鏡像在嵌入式系統(tǒng)中運(yùn)行時(shí)的二進(jìn)制數(shù)據(jù)快照。其中,.bin文件是一個(gè)描述性質(zhì)的鏡像文件,它由文件頭(Head)、鏡像數(shù)據(jù)目的起始地址(ImageStart)、鏡像數(shù)據(jù)長(zhǎng)度(ImageLength)和多條相對(duì)獨(dú)立的記錄(Record)構(gòu)成。本文以實(shí)現(xiàn)Multi-bin的操作系統(tǒng)xip.bin為例進(jìn)行分析,使用UltraEdit將其打開(kāi),如圖2所示。

從圖2可以看出,文件頭(head)由7個(gè)字節(jié)組成,內(nèi)容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,這是判斷鏡像文件是.bin類型的依據(jù)。鏡像數(shù)據(jù)目的起始地址(ImageStart,00 00 07 80)由4個(gè)字節(jié)組成,它定義了鏡像文件解析后裝載在內(nèi)存中的起始地址是0x80070000。鏡像數(shù)據(jù)長(zhǎng)度(ImageLength,68 07 13 02)也由4個(gè)字節(jié)組成,它表示.bin鏡像文件解析后在內(nèi)存中占用的總的存儲(chǔ)空間大小為(0x02130768)。每條記錄(Record)由4字節(jié)的起始存儲(chǔ)地址(RecordStart)、4字節(jié)的數(shù)據(jù)長(zhǎng)度(RecordLength)、4字節(jié)的校驗(yàn)碼(RecordCheckSum)和RecordLength個(gè)字節(jié)的記錄數(shù)據(jù)(RecordData)組成。以第一條記錄(陰影部分)為例,分別為0x80070040、0x00000008、0x000001E3和0X8007004C434543454。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Windows CE.net操作系統(tǒng)的內(nèi)核定制
- AD7156-適用于單片機(jī)平臺(tái)的無(wú)操作系統(tǒng)驅(qū)動(dòng)程序
- AD7303-適用于單片機(jī)平臺(tái)的無(wú)操作系統(tǒng)驅(qū)動(dòng)程序
- AD7193-適用于單片機(jī)平臺(tái)的無(wú)操作系統(tǒng)驅(qū)動(dòng)程序
- AD7780-適用于單片機(jī)平臺(tái)的無(wú)操作系統(tǒng)驅(qū)動(dòng)程序
- 適用于Blackfin的安全、可現(xiàn)場(chǎng)升級(jí)的操作系統(tǒng)體系結(jié)構(gòu)
- 嵌入式操作系統(tǒng)Windows CENET中Nkbin文件的自啟動(dòng) 0次下載
- 基于Windows CE的數(shù)據(jù)管理系統(tǒng)的開(kāi)發(fā) 0次下載
- Windows CENET操作系統(tǒng)的架構(gòu) 0次下載
- Windows CE詳解 67次下載
- 基于MIPS的Win CE多媒體操作系統(tǒng)的研究
- 嵌入式操作系統(tǒng)Windows CE的研究
- 基于Windows CE.Net 4.2嵌入式操作系統(tǒng)多媒體
- Windows CE板卡支持包介紹
- Windows XP操作系統(tǒng) ppt課件 0次下載
- Windows操作系統(tǒng)中的常用命令 696次閱讀
- 深度解析全球操作系統(tǒng)格局 1268次閱讀
- 樹(shù)莓派4B操作系統(tǒng)安裝方案 3334次閱讀
- 基于pSoSystem操作系統(tǒng)實(shí)現(xiàn)通用網(wǎng)絡(luò)代碼框架的設(shè)計(jì) 2126次閱讀
- 如何才能將不同的操作系統(tǒng)移植到Android上 905次閱讀
- 基于S3C2410處理器對(duì)Windows CE 5.0操作系統(tǒng)實(shí)現(xiàn)BSP移植 1069次閱讀
- Linux操作系統(tǒng)的目錄結(jié)構(gòu) 3572次閱讀
- 海天雄電子:Cortex-A8嵌入式教學(xué)實(shí)驗(yàn)系統(tǒng) 2835次閱讀
- 現(xiàn)在使用的電腦操作系統(tǒng)有哪些?分別有什么特點(diǎn) 1w次閱讀
- windows10操作系統(tǒng)安全模式的使用技巧 1295次閱讀
- 適用于測(cè)控領(lǐng)域的4種實(shí)時(shí)操作系統(tǒng)對(duì)比分析 3700次閱讀
- ARM嵌入式Wince的開(kāi)發(fā)心得 7065次閱讀
- Windows CE.NET 4.2下的串行通信技術(shù)講解 1706次閱讀
- 簡(jiǎn)要介紹了操作系統(tǒng)虛擬化的概念,以及實(shí)現(xiàn)操作系統(tǒng)虛擬化的技術(shù) 1.3w次閱讀
- uC/OS和uClinux操作系統(tǒng)的區(qū)別 4534次閱讀
下載排行
本周
- 1EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 4次下載 | 2 積分
- 2AU3116 2×60W模擬輸入雙通道Class-D 音頻功率放大器數(shù)據(jù)手冊(cè)
- 1.19 MB | 1次下載 | 免費(fèi)
- 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊(cè)
- 0.78 MB | 1次下載 | 免費(fèi)
- 4ZX8002E 觸摸調(diào)光LED集成IC數(shù)據(jù)手冊(cè)
- 2.27 MB | 次下載 | 免費(fèi)
- 5SOD-323塑料封裝ESD保護(hù)二極管SD05T系列規(guī)格書(shū)
- 1.07 MB | 次下載 | 免費(fèi)
- 6SOT-23塑料封裝ESD保護(hù)二極管SMxx Series系列規(guī)格書(shū)
- 0.93 MB | 次下載 | 免費(fèi)
- 7高效率整流二極管HER151 THRU HER158數(shù)據(jù)手冊(cè)
- 0.54 MB | 次下載 | 免費(fèi)
- 8低壓降肖特基整流管SL22 THRU SL210數(shù)據(jù)手冊(cè)
- 1.03 MB | 次下載 | 免費(fèi)
本月
- 1三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
- 27.35 MB | 111次下載 | 1 積分
- 2運(yùn)算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費(fèi)
- 3蘋(píng)果iphone 11電路原理圖
- 4.98 MB | 11次下載 | 5 積分
- 4TL494工業(yè)用開(kāi)關(guān)電源原理圖資料
- 0.22 MB | 10次下載 | 1 積分
- 5常用電子元器件介紹
- 3.21 MB | 8次下載 | 免費(fèi)
- 6QW2893應(yīng)急燈專用檢測(cè)芯片
- 590.40 KB | 4次下載 | 免費(fèi)
- 7相關(guān)協(xié)議信號(hào)總結(jié)
- 0.94 MB | 4次下載 | 免費(fèi)
- 8EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 4次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183344次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論