www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于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的啟動過程
   
一般嵌入式系統(tǒng)的引導過程如圖1所示。其中引導加載程序(BootLoader)是系統(tǒng)加電后運行的第一段代碼,主要是通過設置寄存器初始化硬件的工作方式,如設置時鐘、中斷控制寄存器等,完成內(nèi)存映射、初始化MMU等。其次是系統(tǒng)執(zhí)行環(huán)境的初始化,將系統(tǒng)內(nèi)核(Kernel)和應用程序的映像從只讀存儲器加載或拷貝到系統(tǒng)的RAM中執(zhí)行,完成系統(tǒng)內(nèi)核的加載以及應用程序的啟動等。


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

2 影響Windows CE啟動速度的主要因素
   
影響系統(tǒng)啟動時間的因素可以從系統(tǒng)本身和硬件2個方面考慮。
2.1 系統(tǒng)加載
   
系統(tǒng)在啟動時涉及到BootLoader、內(nèi)核加載、初始化進程、硬件的驅(qū)動程序和接口程序以及應用程序組等。因此Windows CE啟動速度要與引導程序初始化時間、內(nèi)核加載時間、硬件驅(qū)動的加載時間、應用程序的加載時間等有著直接的關系。
2.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技術、串口打印輸出、不同注冊表形式對啟動速度的影響。
3.1 使用合理的閃存和選擇適當?shù)腤indows CE內(nèi)核的運行方式
    當前應用于嵌入式系統(tǒng)的FLASH從制作工藝角度講主要分為2種:NOR FLASH與NANDFLASH。NOR的特點是芯片內(nèi)執(zhí)行(Execute In Place,XIP),這樣應用程序可以直接在NOR FLASH中直接運行,而無需再把代碼讀到系統(tǒng)的RAM中,但是很低的寫入和擦除速度大大影響了它的性能。NAND結(jié)構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快,但在使用時必須先寫入驅(qū)動程序,而且,由于不能向壞塊寫入,這就需要在NAND FLASH上自始自終都必須進行虛擬映射,可能會產(chǎn)生額外的時間花費。因此,選擇不同閃存對啟動速度有一定的影響。
    也正因為上面2種閃存的特點不同,Windows CE的運行方式直接與它們有關,可以分為2類,一是在NOR FLASH上直接運行,二是用NAND FLASH來存儲,再加載到內(nèi)存中運行。前者把內(nèi)核的可執(zhí)行映像燒寫到FLASH上,可以實現(xiàn)XIP;而后者是先把內(nèi)核的壓縮文件放在FLASH上,啟動時先解壓,再執(zhí)行。因此,在NOR FLASH上直接運行會速度更快。[!--empirenews.page--]
3.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)。也就是組件全部根據(jù)所需要的來定制,刪除掉所有不必要的組件。其中,最有效的辦法之一是縮減字體,去除不需要的其他國家的字庫。
    另一方面,內(nèi)核在啟動時會有很多靜態(tài)和延遲加載依賴項,尤其是各種安全性DLL,這肯定增加啟動時間。啟動時加載的驅(qū)動程序、設備和自啟動程序也會占用一定的時間。因此,在設備能正常啟動和應用的情況下,應以精簡的原則,以最小化來加載設備驅(qū)動和啟動程序,以最少數(shù)量的組件和驅(qū)動來啟動系統(tǒng),減少不必要的時間延遲。例如可以精簡設備上的外殼程序和啟動界面等。
3.3 使用Multi-bin技術
   
Windows CE中提供了Multi-bin的功能。字面上Multi-bin是多個bin的意思,它將整個內(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ù)實際情況設置各分區(qū)空間和類型;并對XIPKERNEL進行規(guī)劃,將最小化系統(tǒng)內(nèi)核打包到其中,即在project.bib中的modules和Files中添加必須的內(nèi)核文件,例如系統(tǒng)必須加載組件有nk.exe,coredll.dll,filesys.exe,fatfsd.
dll,diskcaehe.dll,F(xiàn)atutil.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的引導下進行燒寫,完成Windows CE的燒寫工作并可以使用Wi-ndows CE系統(tǒng)。
3.4 關閉串口輸出
   
Windows CE在啟動時把很多啟動信息狀態(tài)輸出,因為串口RETAILMSG等輸出打印信息要花一定的時間,故在編譯沒有出錯的情況下把串口輸出信息關閉,也可以提高啟動速度。做到這點可以在Debug.c文件中去除OEMWriteDebugByte(),OEMReadDebugByte()函數(shù)的輸出內(nèi)容。
3.5 選擇適當?shù)淖员矸绞?br />     注冊表分為基于RAM的注冊表(RAM-Based Registry)和基于Hive的注冊表(Hive-Based Registry)兩種方式,一般都用于記錄著所有應用程序和硬件外設的驅(qū)動信息。
    基于RAM的注冊表把整個注冊表作為一個對象存儲堆存放在系統(tǒng)的內(nèi)存中,如果對系統(tǒng)進行冷啟動或者系統(tǒng)斷電,對注冊表的所有改動都會使存儲的數(shù)據(jù)丟失,所以基于對象存儲方式實現(xiàn)的注冊表一般用于較少斷電的系統(tǒng),或一般不需要冷啟動的系統(tǒng)。但如果使用基于RAM的注冊表,它會使系統(tǒng)速度更快,占用空間更小,對注冊表的讀寫訪問操作會變得非常高效,系統(tǒng)開發(fā)者應提供一種使系統(tǒng)能夠在斷電前后備份和恢復注冊表的方法,通常這種備份和恢復注冊表的方法的缺點是需要兩次啟動,在啟動過程中必須多一次熱啟動才能使恢復的注冊表有效,因此效率相對比較低。
    基于HIVE結(jié)構存儲的注冊表使用文件存儲注冊表數(shù)據(jù),它與系統(tǒng)使用的文件系統(tǒng)的類型無關。這種方式使系統(tǒng)斷電前后無須備份和恢復注冊表數(shù)據(jù),這使系統(tǒng)冷啟動時速度更快。
    總之,基于RAM的注冊表在經(jīng)常熱啟動的設備上是非常高效的,在經(jīng)常冷啟動的設備中性能卻讓人失望;而基于Hive的注冊表在經(jīng)常冷啟動或不常熱啟動的設備中非常高效。因此,采用不同的類型也會影響Windows CE的啟動效率,用戶應根據(jù)實際情況進行合理選擇。

4 實驗與分析
4.1 實驗平臺
   
(1)硬件平臺。ARM處理器為三星公司的S3C2440A,標稱工作頻率為400 MHz;存儲器包括2片32 MB SDRAM,1片64 MB的NAND FLASH;設備模塊包括USB,LCD,UART。
    (2)軟件平臺。Bootloader:bootloader VER-5.0;操作系統(tǒng):Windows CE5.O;開發(fā)工具:Platform Builder 5.0。
4.2 實驗條件
   
在建立PB工程時選擇移動手持設備(Mobile Handheld)模板,其他組件選擇如表1所示,就可以實現(xiàn)支持MFC編程、文字表格編輯、MP3播放的手持設備系統(tǒng),在該系統(tǒng)下得到表1數(shù)據(jù)。


   [!--empirenews.page--] 表2為實現(xiàn)MP3播放功能精簡系統(tǒng)前后的比較。精簡前的方法是選擇移動手持設備(MobileHandheld)模板,加入MP3支持;精簡后的方法是選擇CustomDevice模板,只選擇MP3 Codec,wMA and MP3Streaming和Windows Media Player就可以實現(xiàn)MP3播放,不加入其他所有不必要的組件,從而減小內(nèi)核體積。表3、表4的數(shù)據(jù)都是基于MobileHandheld模板下不同注冊表RAM和Hive下得到的數(shù)據(jù)。


4.3 實驗結(jié)果及分析
   
表2至表4中對比了相應優(yōu)化帶來啟動時間的比較,時間的計算使從開始啟動到進入windows CE界面為止。從表2可以看出,使用Multi-bin技術可以很大提升啟動速度,縮短了啟動時間;而串口輸出信息也有一定的影響,特別是在輸出信息很多的情況下,所占用的時間是不可忽視的。
    另外,表3則表明,內(nèi)核、組件等的構成系統(tǒng)大小也直接影響著啟動的速度,故應當盡量減少系統(tǒng)不必要的內(nèi)核和組件。


    由表4、表5可以看出,在沒有修改注冊表的時候,使用基于RAM的注冊表速度比基于Hive的注冊表的略快一些,但在修改注冊表之后,由于前者通常需要啟動2次,故速度要慢于后者。

5 結(jié)語
   
在嵌入式操作系統(tǒng)Windows CE的開發(fā)和使用中,系統(tǒng)的啟動速度不僅體現(xiàn)設備的性能,而且也直接影響到使用者的感受和體驗。本文先介紹Windows CE的啟動流程,分析影響Windows CE啟動速度的因素,再提出一些加快啟動速度的方案。雖然系統(tǒng)啟動還與具體的硬件有關,在具體應用時還需要綜合考慮。但本文提出的方法對對基于其他硬件結(jié)構下使用WindowsCE系統(tǒng)時優(yōu)化其啟動速度同樣有重要的指導意義。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉