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

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

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

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

從圖2可以看出,文件頭(head)由7個字節(jié)組成,內容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,這是判斷鏡像文件是.bin類型的依據。鏡像數據目的起始地址(ImageStart,00 00 07 80)由4個字節(jié)組成,它定義了鏡像文件解析后裝載在內存中的起始地址是0x80070000。鏡像數據長度(ImageLength,68 07 13 02)也由4個字節(jié)組成,它表示.bin鏡像文件解析后在內存中占用的總的存儲空間大小為(0x02130768)。每條記錄(Record)由4字節(jié)的起始存儲地址(RecordStart)、4字節(jié)的數據長度(RecordLength)、4字節(jié)的校驗碼(RecordCheckSum)和RecordLength個字節(jié)的記錄數據(RecordData)組成。以第一條記錄(陰影部分)為例,分別為0x80070040、0x00000008、0x000001E3和0X8007004C434543454。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Windows CE.net操作系統(tǒng)的內核定制
- AD7156-適用于單片機平臺的無操作系統(tǒng)驅動程序
- AD7303-適用于單片機平臺的無操作系統(tǒng)驅動程序
- AD7193-適用于單片機平臺的無操作系統(tǒng)驅動程序
- AD7780-適用于單片機平臺的無操作系統(tǒng)驅動程序
- 適用于Blackfin的安全、可現場升級的操作系統(tǒng)體系結構
- 嵌入式操作系統(tǒng)Windows CENET中Nkbin文件的自啟動 0次下載
- 基于Windows CE的數據管理系統(tǒng)的開發(fā) 0次下載
- Windows CENET操作系統(tǒng)的架構 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次下載
- 手持機PDA三大操作系統(tǒng)Android / 開源鴻蒙 / Windows對比 717次閱讀
- 如何設置 Raspberry Pi 操作系統(tǒng) Windows 模擬器:完全指南! 878次閱讀
- 概倫電子一站式射頻建模平臺MeQLab介紹 1.1k次閱讀
- Windows操作系統(tǒng)中的常用命令 1.8k次閱讀
- 深度解析全球操作系統(tǒng)格局 3.4k次閱讀
- 基于pSoSystem操作系統(tǒng)實現通用網絡代碼框架的設計 2.5k次閱讀
- 如何才能將不同的操作系統(tǒng)移植到Android上 1.1k次閱讀
- 基于S3C2410處理器對Windows CE 5.0操作系統(tǒng)實現BSP移植 1.4k次閱讀
- Linux操作系統(tǒng)的目錄結構 4.2k次閱讀
- 海天雄電子:Cortex-A8嵌入式教學實驗系統(tǒng) 3.2k次閱讀
- 現在使用的電腦操作系統(tǒng)有哪些?分別有什么特點 1.1w次閱讀
- windows10操作系統(tǒng)安全模式的使用技巧 1.8k次閱讀
- 適用于測控領域的4種實時操作系統(tǒng)對比分析 4.3k次閱讀
- Windows CE.NET 4.2下的串行通信技術講解 2k次閱讀
- 簡要介紹了操作系統(tǒng)虛擬化的概念,以及實現操作系統(tǒng)虛擬化的技術 1.4w次閱讀
下載排行
本周
- 1冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關型降壓3.5A單節(jié)鋰電池充電管理電路技術手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創(chuàng)新應用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發(fā)板產品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發(fā)板 四核異構、3路千兆網,賦能多元化工業(yè)場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯網、人工智能項目案例及入門學習資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論