毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精

以文本方式查看主題

-  曙海教育集團論壇  (http://www.scb-ycwb.com/bbs/index.asp)
--  WinCE系統定制與驅動開發  (http://www.scb-ycwb.com/bbs/list.asp?boardid=36)
----  巧借WinCE BSP移植 嵌入式系統開發有捷徑  (http://www.scb-ycwb.com/bbs/dispbbs.asp?boardid=36&id=1813)

--  作者:wangxinxin
--  發布時間:2010-11-26 10:31:26
--  巧借WinCE BSP移植 嵌入式系統開發有捷徑

【IT168專稿】近期,公司讓我負責一個嵌入式消費產品的開發項目。此產品原來的操作系統是WinCE 5.0,現在因應市場需求不但要增加功能更加強大的硬件,而且公司也要求把操作系統升級為WinCE 6.0。在接手此項目后,我立即開始進行操作系統的定制開發,但結果卻是欲速則不達。

   后來,我在時間和成本的多重壓力因素下反思時,發現我犯了一個致命的錯誤,就是為了更快的把產品推向市場,在開發過程應該是移植操作系統而不是重新定制操作系統。本文根據我在此項目上得到的經驗和總結,先分析BSP移植對WinCE的重要性和影響,然后在此基礎上通過對Bootloader、OAL和驅動程序的移植來具體探討BSP的移植過程。

 什么是WinCE操作系統移植?

   (1)為什么要進行操作系統移植?
   目前嵌入式系統應用變得越來越廣泛了,嵌入式產品充斥著許多領域,如日常生活的手機、MP4、PDA等都屬于典型的嵌入式系統。隨著技術和消費者需求的變化,即使是同一類型的嵌入式產品也會存在著硬件平臺的變化,或會存在著軟件平臺的更新換代。因此,為了更快的適應市場需求,在實際開發過程更傾向于移植操作系統而不是重新開發操作系統。這樣不但可以節省時間,還能大大提高開發效率。

   由于嵌入式系統是一個軟硬件緊密結合的系統,因此操作系統移植包含兩個層面上的工作:一個層面是CPU級的,另一個層面是板級的。由于WinCE操作系統幾乎完全是用C語言編寫的,所以可移植到眾多的32位微處理器上。這其中包括ARM、x86、MIPS和SHx等,而且CPU級的移植通常由微軟或芯片制造商來完成,這會極大地減輕0EM廠商開發過程中移植操作系統的工作量,但板級層面的移植則還是需要由OEM廠商來完成的。

   一般來說,一個WinCE系統包括四層結構:應用程序、WinCE內核映像、板級支持包(BSP)、硬件平臺。而基本軟件平臺則主要由WinCE系統內核映像(OS Image)和板卡支持包(BSP)兩部分組成。因為WinCE系統是一個軟硬件緊密結合的系統,因此即使CPU處理器相同,但是如果開發板上的外圍硬件不相同,這個時候還是需要修改BSP來完成一個新的BSP。因此換句話說,就是WinCE的移植過程主要是改寫BSP的過程。

   (2)什么是板級BSP移植?
   一般來說,從零開始開發和定制WinCE BSP是需要相當長的時間,BSP的定制開發在整個嵌入式產品開發時間上占了很大比例。所以,快速的BSP移植是適應激烈競爭的市場環境的一個捷徑。BSP(Board Support Packet——板級支持包)是介于底層硬件和上層軟件之間的底層軟件開發包,它主要的功能是給上層提供統一接口,同時屏蔽各種硬件底層的差異,以及提供操作系統的驅動及硬件驅動。簡單的說,就是BSP包含了所有與硬件有關的代碼,為操作系統提供了硬件平臺無關性。因此,通過BSP系統,就能將CPU的硬件系統與Windows CE的軟件系統聯系為一個整體。

   從WinCE開發文檔中我們可知,BSP是一個包括啟動程序Bootloader、OEM適配層程序(OAL)、標準開發板(SDB)和相關硬件設備的驅動程序和配置文件的軟件包。其中Bootloader是加電即運行的一段程序,它能初始化硬件,建立系統的內存空間映射,為最終調用系統內核做準備。主要用于下載和啟動鏡像nk.bin。而OAL則是邏輯上駐留在Windows CE內核與目標設備之間的代碼層,OEM廠商使用這些代碼把WinCE適配到自己的硬件上;在物理上OAL是與內核庫連接在一起產生內核可執行文件。OAL簡化了操作系統與目標代碼之間的通信,OAL代碼用來處理中斷、記時器、電源管理、通用I/O控制等。最后,設備驅動程序是指本機驅動程序以及流接口驅動程序。本機驅動程序有GEWS.exe加載的鼠標鍵盤觸摸屏、顯示驅動等;而流接口驅動程序使用一組流函數來實現,通常由Device.exe加載,如網卡聲卡、USB等

 

WinCE BSP移植的流程和步驟

   從前文分析我們可以知道,WinCE系統移植的重點是BSP 的移植。而BSP移植主要包括啟動程序Bootloader、OEM適配層程序OAL、標準開發板(SDB)本地驅動程序以及一些文件配置的修改。以下是WinCE BSP移植的主要內容和流程步驟:

   (1)啟動程序Bootloader的移植步驟
   修改Bootloader是移植Win CE系統第一步,也是關鍵的一步。只有得到一個穩定工作的啟動程序,才能夠進一步完成WinCE BSP的移植。Bootloader主要用來管理目標平臺的啟動過程,它是一段單獨的程序代碼,通過這段小程序可以初始化硬件設備、建立內存空間的映射圖和下載操作系統的映像文件等,從而將系統的軟硬件環境帶到一個合適的狀態,它一般存放于目標平臺的非易失存儲介質中,如ROM或Flash。

   一般來說,對于Bootloader的功能,不同的場合區別很大。比如,在桌面Windows版的PC硬件平臺上,由于硬件啟動根本就不通過Bootloader(而是通過BIOS),所以Bootloader就無需對CPU加電后的初始化做任何工作;而在嵌入式WinCE平臺上,Bootloader是最先被執行的程序,所以就必須包括加電初始化程序,同時通常Bootloader必須包含下載WinCE映像文檔的功能。由于Bootloader會涉及到基本的硬件操作,如CPU的結構、指令等,也會又涉及到以太網下載協議和映像文檔格式。因此,從零開發實現的話會需要相當長的過程,通常的做法是利用微軟為每種類型的CPU提供的某種標準研發板的Bootloader例程。

   根據我在這次項目移植得到的經驗,Bootloader的移植步驟主要是:①是修改相應的dir、source文件;②是修改makefile.inc;③是修改boot.bib,使其不與config.bib中的內存分配造成沖突;④是改進eboot,因為eboot燒寫NK.BIN的時候會查找BINFS分區,然后把下載的image燒寫到BINFS分區。

   (2)OAL的移植步驟
   OAL的全稱是OEM Adaption Layer,即原始設備制造商適配層。它是位于Windows CE內核和目標硬件平臺之間的一個代碼層,OAL主要負責Windows CE與硬件通信,它與CPU、中斷、內存、時鐘和調試口等核心設備相關,也是OAL各個模塊代碼被編譯后(.lib)和其它內核庫鏈接到一起形成Windows CE的內核可執行文檔NK.EXE的關鍵。簡單的說,OAL就是用來屏蔽CPU平臺的細節和抽象硬件功能,以實現操作系統內核的可移植性。

   從邏輯結構上看,OAL位于WinCE操作系統的內核與硬件之間,是連接WinCE系統與硬件的樞紐;從功能上看,OAL頗似桌面PC上的BIOS,具有初始化設備、引導操作系統以及抽象硬件功能等作用。但與B10S不同的是,0AL隸屬于操作系統,是操作系統的一部分。

   從我在這次項目中得到的經驗來看,Windows CE安裝目錄的子目錄中都包含有OAL的部分源碼。OAL的移植實現應是在fwxsc1.s、main.c、Flash.c、Edeviceinit.c等文件中,可根據實際需要修改相應的代碼。在OAL移植過程中,主要是修改這幾個函數:修改Startup.s函數、修改串口調試函數、修改OEMInit函數、修改系統時鐘函數和修改中斷處理函數等。實際上,大多數情況下開發工程師對OAL只要修改即可,甚至無需修改。


毛片网站在线看_天堂俺去俺来也www久久婷婷_日韩av免费网站_18性欧美xxxⅹ性满足_一区二区三区韩国免费中文网站 _性xx色xx综合久久久xx_999亚洲国产精
午夜精品久久久久久久99水蜜桃| 无吗不卡中文字幕| 国产传媒久久文化传媒| 91在线视频18| 91老师片黄在线观看| 一区精品在线播放| 国产99久久久国产精品潘金网站| 欧美丰满高潮xxxx喷水动漫| 亚洲国产精品一区二区www在线| 在线亚洲欧美专区二区| 亚洲图片欧美视频| 欧美一区二区三区免费| 国产福利91精品一区二区三区| 国产欧美一区二区三区在线老狼| 丁香激情综合国产| 一区二区三区蜜桃网| 欧美高清你懂得| 另类成人小视频在线| 国产欧美精品在线观看| 波多野洁衣一区| 亚洲成人自拍偷拍| 日韩免费高清av| 成+人+亚洲+综合天堂| 亚洲国产综合人成综合网站| 欧美大片在线观看| 丁香六月久久综合狠狠色| 亚洲一区电影777| 精品国产成人系列| 在线观看日韩一区| 国产自产2019最新不卡| **网站欧美大片在线观看| 欧美精品九九99久久| 精品一区二区三区av| 一区二区三区在线视频免费| 欧美一区二区三区公司| voyeur盗摄精品| 日韩电影在线观看一区| 中文字幕乱码一区二区免费| 717成人午夜免费福利电影| 暴力调教一区二区三区| 麻豆精品视频在线观看| 亚洲制服欧美中文字幕中文字幕| 久久精品一区二区| 3atv在线一区二区三区| 色婷婷综合久久久久中文一区二区 | 欧美亚洲国产一区在线观看网站| 免费观看久久久4p| 亚洲高清免费视频| 国产精品免费久久| 国产午夜亚洲精品不卡| 欧美一级高清片| 色香蕉久久蜜桃| 国产69精品久久777的优势| 免费三级欧美电影| 亚洲国产一区视频| 亚洲一区二区三区自拍| 中文字幕在线观看不卡视频| 欧美精品一区男女天堂| 欧美一区二区高清| 欧美日韩dvd在线观看| 色哟哟一区二区在线观看| 成人免费毛片a| 国产成人精品免费网站| 狠狠狠色丁香婷婷综合久久五月| 视频一区视频二区在线观看| 亚洲一区电影777| 亚洲二区在线观看| 午夜久久电影网| 日本欧美肥老太交大片| 日韩av中文在线观看| 亚洲不卡av一区二区三区| 亚洲一级在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲一区二区黄色| 日韩影视精彩在线| 久久99精品久久久久久动态图| 久久精品国产亚洲5555| 国产精品亚洲成人| 99久久久久久| 欧美日韩精品系列| 欧美日韩精品系列| 欧美一区二区三区在| 精品va天堂亚洲国产| 中文字幕精品一区| 亚洲永久精品大片| 麻豆传媒一区二区三区| 国产老妇另类xxxxx| 成人白浆超碰人人人人| 欧美亚洲国产一区二区三区va| 91超碰这里只有精品国产| 欧美成人vr18sexvr| 国产精品超碰97尤物18| 一区二区三区成人在线视频| 午夜精品久久久久久| 捆绑紧缚一区二区三区视频| 成人午夜在线播放| 精品视频在线免费看| 久久毛片高清国产| 亚洲精品精品亚洲| 国产一区欧美日韩| 欧美伊人久久大香线蕉综合69| 日韩欧美国产综合一区 | 国产精品系列在线| 一区二区三区不卡视频| 麻豆精品在线看| 欧美亚洲一区二区三区四区| 日韩免费视频一区| 一区二区三区在线免费| 久久精品噜噜噜成人88aⅴ| 成人污视频在线观看| 欧美人与z0zoxxxx视频| 中文字幕在线观看一区| 久久99久久久欧美国产| 91九色最新地址| 国产情人综合久久777777| 日精品一区二区| 91色porny| 中文字幕一区二区在线播放| 久久国产免费看| 欧美日韩精品一区二区| 亚洲三级理论片| 成人一区二区三区视频在线观看 | 国产成人无遮挡在线视频| 欧美日本在线看| 亚洲男人的天堂在线观看| 国产精品亚洲午夜一区二区三区 | 久久精品国产亚洲高清剧情介绍 | 成人丝袜视频网| 精品精品国产高清a毛片牛牛| 亚洲成人手机在线| 91久久精品一区二区| 日韩伦理av电影| a亚洲天堂av| 国产精品久久久久天堂| 国产精品99久久久| 精品粉嫩超白一线天av| 蜜臀精品一区二区三区在线观看| 色一情一乱一乱一91av| 亚洲精品老司机| 色噜噜狠狠成人中文综合| 日韩视频一区二区在线观看| 午夜精品久久久久久久99水蜜桃| 欧美亚州韩日在线看免费版国语版| 亚洲欧美一区二区三区久本道91| 不卡影院免费观看| 中文字幕一区不卡| 99久久精品国产导航| 中文字幕日本乱码精品影院| 丁香天五香天堂综合| 中文字幕欧美日韩一区| 99国内精品久久| 一区二区三区中文在线| 欧美日韩国产高清一区二区三区| 亚洲成人午夜电影| 日韩欧美国产高清| 精品一区二区在线播放| 久久久国际精品| 成人黄色小视频在线观看| 国产精品白丝在线| 欧美三级电影在线观看| 麻豆精品蜜桃视频网站| 欧美激情在线免费观看| 不卡免费追剧大全电视剧网站| 日韩久久一区二区| 欧美日韩国产精品自在自线| 韩国女主播成人在线| 中文字幕在线免费不卡| 欧美日韩国产影片| 国产激情一区二区三区四区| 亚洲欧美偷拍卡通变态| 91精品国产综合久久久久| 国产麻豆视频一区| 亚洲激情在线激情| 日韩午夜av电影| 成人午夜免费av| 视频一区免费在线观看| 国产欧美日韩三区| 欧美日韩在线一区二区| 国产高清亚洲一区| 夜夜爽夜夜爽精品视频| 欧美精品一区二区三区四区| 色综合久久中文字幕| 久久99国产精品久久99 | 亚洲在线观看免费视频| 日韩精品在线看片z| 99精品国产热久久91蜜凸| 加勒比av一区二区| 亚洲一二三四在线观看| 久久久国产精华| 欧美日本精品一区二区三区| 99久久精品国产网站| 九九精品视频在线看| 亚洲综合丝袜美腿| 国产精品丝袜黑色高跟| 欧美一区三区四区| 欧美午夜影院一区| 99精品视频免费在线观看| 看电视剧不卡顿的网站| 日韩黄色小视频| 亚洲自拍偷拍麻豆|