資料介紹
Windows CE是微軟推出的一款32位的嵌入式操作系統。它具有良好的多媒體功能和友好的人機交互界面,支持PowerPC、X86、ARM和MIPS等多個系列處理器的體系結構,并為所支持的處理器提供完善的系統庫[1]。它還提供了完善的設備驅動程序和軟件開發包,大大縮短了開發周期,節約了電子智能產品的上市時間。在這些產品開發過程中,系統啟動時間的時延是影響客戶體驗(QoE)的重要因素。啟動速度受很多因素的影響,包括定制系統鏡像文件的大小、系統內核加載驅動的多少、內存占用的大小等。為了減少系統啟動時延,目前比較流行的做法是在Bootloader中添加LOGO啟動畫面,從而在視覺上降低客戶的時延感受[2]。從本質上講,這種方法并沒有從根本上減少系統的啟動時延,僅僅是從視覺的角度轉移了客戶的注意力。
本文在分析Windows CE 6.0系統啟動過程的基礎上,設計了一種在Bootloader中實現BinFS文件系統進而完成Multi-bin加載的方法,從而真正達到縮短啟動時間的效果,同時還為用戶節省了大量的內存空間。實驗結果表明,該方法性能穩定,可移植性強,并已經應用到一款基于Samsung 2440處理器的IPTV手持式測試儀系統上。
1 Windows CE系統啟動過程
Windows CE系統啟動過程如圖1所示。
在Windows CE操作系統中,當基于Windows CE的目標設備上電啟動或者復位時,系統首先加載并運行Bootloader程序,Bootloader程序進行必要的硬件初始化,然后通過Bootloader再加載并啟動操作系統內核映像。啟動操作系統內核的過程實際上就是加載并運行OAL(OEM Adaptation Layer)程序的過程。OAL是Windows CE操作系統內核的重要組成部分,OAL并不能被單獨加載并運行,它最終被編譯進操作系統內核,從而通過操作系統內核存在并發揮作用,操作系統的啟動過程就是一個加載并運行OAL程序的過程[3]。
系統從啟動加載內核映像文件到最后的顯示桌面會有一段時間,這個時間段就是通常所說的啟動時延。通常情況下為10 s~13 s。為了縮短這段時延,可以將系統映像分為多塊,將系統核心啟動部分的內容放到內存中,其他部分放到固態存儲器(如Nand Flash)中,使用BINFS文件系統讀出。即在系統啟動過程中,先加載操作系統內核映像的核心部分,而操作系統內核映像的其他部分仍然駐留在Nand Flash中,需要時再從Nand Flash中進行加載,從而大大減少開機讀取系統的時間。同時,也不再需要為操作系統預留全尺寸的內存空間,而只需預留最小開機核心部分的內存空間,剩下的作為通用內存空間。這樣就使得操作系統內存的使用有了很大靈活性,同時可用系統內存大大增加。從而,在根本上達到了按需加載系統模塊到內存的要求。這就是所謂的Multi-bin技術。
2 Windows CE .bin鏡像文件解析與下載
由Windows CE的開發工具Platform Build編譯生成的Windows CE操作系統及Bootloader的鏡像文件主要有兩種格式類型:以.bin為文件名后綴的記錄型鏡像文件和以.nb0為后綴的原始型(raw)鏡像文件。前者以記錄(Record)為單位組織鏡像的數據,后者則是鏡像在嵌入式系統中運行時的二進制數據快照。其中,.bin文件是一個描述性質的鏡像文件,它由文件頭(Head)、鏡像數據目的起始地址(ImageStart)、鏡像數據長度(ImageLength)和多條相對獨立的記錄(Record)構成。本文以實現Multi-bin的操作系統xip.bin為例進行分析,使用UltraEdit將其打開,如圖2所示。
從圖2可以看出,文件頭(head)由7個字節組成,內容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,這是判斷鏡像文件是.bin類型的依據。鏡像數據目的起始地址(ImageStart,00 00 07 80)由4個字節組成,它定義了鏡像文件解析后裝載在內存中的起始地址是0x80070000。鏡像數據長度(ImageLength,68 07 13 02)也由4個字節組成,它表示.bin鏡像文件解析后在內存中占用的總的存儲空間大小為(0x02130768)。每條記錄(Record)由4字節的起始存儲地址(RecordStart)、4字節的數據長度(RecordLength)、4字節的校驗碼(RecordCheckSum)和RecordLength個字節的記錄數據(RecordData)組成。以第一條記錄(陰影部分)為例,分別為0x80070040、0x00000008、0x000001E3和0X8007004C434543454。
本文在分析Windows CE 6.0系統啟動過程的基礎上,設計了一種在Bootloader中實現BinFS文件系統進而完成Multi-bin加載的方法,從而真正達到縮短啟動時間的效果,同時還為用戶節省了大量的內存空間。實驗結果表明,該方法性能穩定,可移植性強,并已經應用到一款基于Samsung 2440處理器的IPTV手持式測試儀系統上。
1 Windows CE系統啟動過程
Windows CE系統啟動過程如圖1所示。
在Windows CE操作系統中,當基于Windows CE的目標設備上電啟動或者復位時,系統首先加載并運行Bootloader程序,Bootloader程序進行必要的硬件初始化,然后通過Bootloader再加載并啟動操作系統內核映像。啟動操作系統內核的過程實際上就是加載并運行OAL(OEM Adaptation Layer)程序的過程。OAL是Windows CE操作系統內核的重要組成部分,OAL并不能被單獨加載并運行,它最終被編譯進操作系統內核,從而通過操作系統內核存在并發揮作用,操作系統的啟動過程就是一個加載并運行OAL程序的過程[3]。
系統從啟動加載內核映像文件到最后的顯示桌面會有一段時間,這個時間段就是通常所說的啟動時延。通常情況下為10 s~13 s。為了縮短這段時延,可以將系統映像分為多塊,將系統核心啟動部分的內容放到內存中,其他部分放到固態存儲器(如Nand Flash)中,使用BINFS文件系統讀出。即在系統啟動過程中,先加載操作系統內核映像的核心部分,而操作系統內核映像的其他部分仍然駐留在Nand Flash中,需要時再從Nand Flash中進行加載,從而大大減少開機讀取系統的時間。同時,也不再需要為操作系統預留全尺寸的內存空間,而只需預留最小開機核心部分的內存空間,剩下的作為通用內存空間。這樣就使得操作系統內存的使用有了很大靈活性,同時可用系統內存大大增加。從而,在根本上達到了按需加載系統模塊到內存的要求。這就是所謂的Multi-bin技術。
2 Windows CE .bin鏡像文件解析與下載
由Windows CE的開發工具Platform Build編譯生成的Windows CE操作系統及Bootloader的鏡像文件主要有兩種格式類型:以.bin為文件名后綴的記錄型鏡像文件和以.nb0為后綴的原始型(raw)鏡像文件。前者以記錄(Record)為單位組織鏡像的數據,后者則是鏡像在嵌入式系統中運行時的二進制數據快照。其中,.bin文件是一個描述性質的鏡像文件,它由文件頭(Head)、鏡像數據目的起始地址(ImageStart)、鏡像數據長度(ImageLength)和多條相對獨立的記錄(Record)構成。本文以實現Multi-bin的操作系統xip.bin為例進行分析,使用UltraEdit將其打開,如圖2所示。
從圖2可以看出,文件頭(head)由7個字節組成,內容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,這是判斷鏡像文件是.bin類型的依據。鏡像數據目的起始地址(ImageStart,00 00 07 80)由4個字節組成,它定義了鏡像文件解析后裝載在內存中的起始地址是0x80070000。鏡像數據長度(ImageLength,68 07 13 02)也由4個字節組成,它表示.bin鏡像文件解析后在內存中占用的總的存儲空間大小為(0x02130768)。每條記錄(Record)由4字節的起始存儲地址(RecordStart)、4字節的數據長度(RecordLength)、4字節的校驗碼(RecordCheckSum)和RecordLength個字節的記錄數據(RecordData)組成。以第一條記錄(陰影部分)為例,分別為0x80070040、0x00000008、0x000001E3和0X8007004C434543454。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Windows CE.net操作系統的內核定制
- AD7156-適用于單片機平臺的無操作系統驅動程序
- AD7303-適用于單片機平臺的無操作系統驅動程序
- AD7193-適用于單片機平臺的無操作系統驅動程序
- AD7780-適用于單片機平臺的無操作系統驅動程序
- 適用于Blackfin的安全、可現場升級的操作系統體系結構
- 嵌入式操作系統Windows CENET中Nkbin文件的自啟動 0次下載
- 基于Windows CE的數據管理系統的開發 0次下載
- Windows CENET操作系統的架構 0次下載
- Windows CE詳解 67次下載
- 基于MIPS的Win CE多媒體操作系統的研究
- 嵌入式操作系統Windows CE的研究
- 基于Windows CE.Net 4.2嵌入式操作系統多媒體
- Windows CE板卡支持包介紹
- Windows XP操作系統 ppt課件 0次下載
- Windows操作系統中的常用命令 244次閱讀
- 深度解析全球操作系統格局 671次閱讀
- 樹莓派4B操作系統安裝方案 3135次閱讀
- 基于pSoSystem操作系統實現通用網絡代碼框架的設計 1986次閱讀
- 如何才能將不同的操作系統移植到Android上 849次閱讀
- 基于S3C2410處理器對Windows CE 5.0操作系統實現BSP移植 977次閱讀
- Linux操作系統的目錄結構 3431次閱讀
- 海天雄電子:Cortex-A8嵌入式教學實驗系統 2676次閱讀
- 現在使用的電腦操作系統有哪些?分別有什么特點 9552次閱讀
- windows10操作系統安全模式的使用技巧 1055次閱讀
- 適用于測控領域的4種實時操作系統對比分析 3531次閱讀
- ARM嵌入式Wince的開發心得 6909次閱讀
- Windows CE.NET 4.2下的串行通信技術講解 1596次閱讀
- 簡要介紹了操作系統虛擬化的概念,以及實現操作系統虛擬化的技術 1.3w次閱讀
- uC/OS和uClinux操作系統的區別 4403次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多