久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團(tuán)論壇Win CE 專區(qū)WinCE系統(tǒng)定制與驅(qū)動(dòng)開發(fā) → 巧借WinCE BSP移植 嵌入式系統(tǒng)開發(fā)有捷徑


  共有7783人關(guān)注過本帖樹形打印

主題:巧借WinCE BSP移植 嵌入式系統(tǒng)開發(fā)有捷徑

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
巧借WinCE BSP移植 嵌入式系統(tǒng)開發(fā)有捷徑  發(fā)帖心情 Post By:2010-11-26 10:31:26

【IT168專稿】近期,公司讓我負(fù)責(zé)一個(gè)嵌入式消費(fèi)產(chǎn)品的開發(fā)項(xiàng)目。此產(chǎn)品原來的操作系統(tǒng)是WinCE 5.0,現(xiàn)在因應(yīng)市場(chǎng)需求不但要增加功能更加強(qiáng)大的硬件,而且公司也要求把操作系統(tǒng)升級(jí)為WinCE 6.0。在接手此項(xiàng)目后,我立即開始進(jìn)行操作系統(tǒng)的定制開發(fā),但結(jié)果卻是欲速則不達(dá)。

   后來,我在時(shí)間和成本的多重壓力因素下反思時(shí),發(fā)現(xiàn)我犯了一個(gè)致命的錯(cuò)誤,就是為了更快的把產(chǎn)品推向市場(chǎng),在開發(fā)過程應(yīng)該是移植操作系統(tǒng)而不是重新定制操作系統(tǒng)。本文根據(jù)我在此項(xiàng)目上得到的經(jīng)驗(yàn)和總結(jié),先分析BSP移植對(duì)WinCE的重要性和影響,然后在此基礎(chǔ)上通過對(duì)Bootloader、OAL和驅(qū)動(dòng)程序的移植來具體探討B(tài)SP的移植過程。

 什么是WinCE操作系統(tǒng)移植?

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

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

   一般來說,一個(gè)WinCE系統(tǒng)包括四層結(jié)構(gòu):應(yīng)用程序、WinCE內(nèi)核映像、板級(jí)支持包(BSP)、硬件平臺(tái)。而基本軟件平臺(tái)則主要由WinCE系統(tǒng)內(nèi)核映像(OS Image)和板卡支持包(BSP)兩部分組成。因?yàn)閃inCE系統(tǒng)是一個(gè)軟硬件緊密結(jié)合的系統(tǒng),因此即使CPU處理器相同,但是如果開發(fā)板上的外圍硬件不相同,這個(gè)時(shí)候還是需要修改BSP來完成一個(gè)新的BSP。因此換句話說,就是WinCE的移植過程主要是改寫B(tài)SP的過程。

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

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

 

WinCE BSP移植的流程和步驟

   從前文分析我們可以知道,WinCE系統(tǒng)移植的重點(diǎn)是BSP 的移植。而BSP移植主要包括啟動(dòng)程序Bootloader、OEM適配層程序OAL、標(biāo)準(zhǔn)開發(fā)板(SDB)本地驅(qū)動(dòng)程序以及一些文件配置的修改。以下是WinCE BSP移植的主要內(nèi)容和流程步驟:

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

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

   根據(jù)我在這次項(xiàng)目移植得到的經(jīng)驗(yàn),Bootloader的移植步驟主要是:①是修改相應(yīng)的dir、source文件;②是修改makefile.inc;③是修改boot.bib,使其不與config.bib中的內(nèi)存分配造成沖突;④是改進(jìn)eboot,因?yàn)閑boot燒寫NK.BIN的時(shí)候會(huì)查找BINFS分區(qū),然后把下載的image燒寫到BINFS分區(qū)。

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

   從邏輯結(jié)構(gòu)上看,OAL位于WinCE操作系統(tǒng)的內(nèi)核與硬件之間,是連接WinCE系統(tǒng)與硬件的樞紐;從功能上看,OAL頗似桌面PC上的BIOS,具有初始化設(shè)備、引導(dǎo)操作系統(tǒng)以及抽象硬件功能等作用。但與B10S不同的是,0AL隸屬于操作系統(tǒng),是操作系統(tǒng)的一部分。

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


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

巧借WinCE BSP移植 嵌入式系統(tǒng)開發(fā)有捷徑








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产精品一区二区免费不卡| 欧美一区二区三区在| 久久这里只精品最新地址| 国产乱码精品一品二品| 3d成人动漫网站| 国产精品系列在线播放| 欧美一级久久久| www.av亚洲| 亚洲国产精品传媒在线观看| 国产乱码一区| 一区二区三区免费| 亚洲自拍偷拍二区| 开心九九激情九九欧美日韩精美视频电影| 在线亚洲免费视频| 成人在线视频一区二区| 国产日本亚洲高清| 日韩精品国内| 久久超碰97中文字幕| 日韩欧美一级在线播放| 成人综合av网| 亚洲大片免费看| 欧美区一区二区三区| 91影院在线观看| 亚洲欧美国产高清| 色婷婷av一区| 国产91富婆露脸刺激对白| 久久久久亚洲蜜桃| 欧美国产二区| 捆绑调教美女网站视频一区| 日韩一级成人av| 精品不卡在线| 麻豆一区二区在线| 久久众筹精品私拍模特| 好吊色欧美一区二区三区四区| 亚洲午夜一二三区视频| 欧美日韩精品三区| 91麻豆蜜桃| 午夜精品福利一区二区三区av| 欧美日韩国产高清一区二区| 3d蒂法精品啪啪一区二区免费| 亚洲资源中文字幕| 91精品国产高清一区二区三区 | 欧美不卡一二三| 精品人伦一区二区三区| 日本不卡123| 国产亚洲一本大道中文在线| 亚洲国产精品综合| 国产99久久久久久免费看农村| 最新热久久免费视频| 欧美三级中文字幕| 高清视频一区| 久久国产夜色精品鲁鲁99| 国产亚洲女人久久久久毛片| 一级特黄录像免费播放全99| 97se亚洲国产综合自在线观| 亚洲超碰精品一区二区| 337p日本欧洲亚洲大胆色噜噜| 日韩一区二区三区高清| 成人精品一区二区三区中文字幕| 亚洲欧美一区二区三区极速播放| 欧美美女喷水视频| 精品卡一卡二| 国产成人丝袜美腿| 亚洲午夜三级在线| 2022国产精品视频| 在线免费不卡视频| 久久久久欧美| av成人老司机| 日本sm残虐另类| 国产欧美久久久精品影院| 欧美日韩一区二区三区视频| 国产一区二区三区无遮挡| 国产美女主播视频一区| 亚洲影院在线观看| 国产天堂亚洲国产碰碰| 欧美日本在线播放| 亚洲精品一区国产精品| 国产精华一区| 成人午夜又粗又硬又大| 日精品一区二区| 综合久久给合久久狠狠狠97色 | 精品高清视频| 成人的网站免费观看| 日韩高清在线电影| 亚洲特级片在线| 欧美精品一区二区三区久久久| 在线视频国产一区| 欧美日韩亚洲一区二区三区在线观看 | 在线综合视频网站| 久久爱av电影| 147欧美人体大胆444| 国产精品一级二级三级| 午夜av一区二区| 亚洲视频中文字幕| 国产欧美一区二区精品秋霞影院| 91精品国产综合久久香蕉的特点 | 成年人国产精品| 九九九久久久精品| 亚洲二区视频在线| 1024亚洲合集| 国产亚洲va综合人人澡精品| 日韩免费视频一区| 日韩一区二区在线播放| 欧美三级韩国三级日本三斤| 日韩资源av在线| 欧美成人蜜桃| 久久久com| 精品综合在线| 精品在线视频一区二区| av一本久道久久波多野结衣| 9i在线看片成人免费| 国产91精品一区二区| 国产一区二区三区免费看| 久久99精品网久久| 久久精品999| 精品综合免费视频观看| 免费观看日韩av| 日本中文字幕一区二区视频| 五月天激情小说综合| 亚洲bdsm女犯bdsm网站| 亚洲韩国一区二区三区| 亚洲一区二区三区四区在线| 亚洲综合视频网| 亚洲韩国一区二区三区| 五月婷婷另类国产| 日韩av电影免费观看高清完整版 | 精品少妇一区二区三区| 日韩色视频在线观看| 日韩三区在线观看| 欧美不卡视频一区| 欧美精品一区视频| 欧美国产欧美亚州国产日韩mv天天看完整| 26uuu色噜噜精品一区| 久久久久久日产精品| 国产欧美一区二区在线观看| 国产精品色呦呦| 亚洲精品免费看| 日韩在线一区二区三区| 久久国产精品72免费观看| 国产精品正在播放| 国产69精品久久99不卡| 91在线小视频| 国产精品免费一区二区三区在线观看| 国产一区二区不卡视频| 久久99久久99精品蜜柚传媒| 欧美二级三级| 91精品福利在线| 日韩一级黄色大片| 国产蜜臀97一区二区三区| 亚洲乱码中文字幕综合| 日韩av电影天堂| 国产乱色国产精品免费视频| 成人激情文学综合网| 成人免费视频网站入口| 欧美亚洲另类久久综合| 91精品福利视频| 日韩精品一区二区三区在线观看 | 欧美日本韩国一区二区三区视频| 日韩亚洲欧美在线| 久久精品水蜜桃av综合天堂| 综合久久综合久久| 青青草国产成人99久久| 成人性生交大片| 精品国产二区在线| 一本到不卡精品视频在线观看 | 国产99在线免费| 日本午夜一区二区三区| 欧美午夜精品一区二区蜜桃| 精品国产乱码久久久久久老虎| 日韩美女视频一区| 理论电影国产精品| 999国产在线| 亚洲一区3d动漫同人无遮挡 | 另类欧美小说| 日本韩国精品一区二区在线观看| 日韩欧美色综合| 亚洲视频中文字幕| 激情综合色丁香一区二区| 18成人免费观看网站下载| 日本成人黄色| 欧美一区二区三区在线电影| 国产精品美女一区二区在线观看| 亚洲成人免费看| 成人毛片老司机大片| 精品欧美国产一区二区三区不卡| 91国产免费观看| 国产欧美日韩不卡免费| 日韩高清在线一区| 91视频免费播放| 一区二区三区观看| 国产日产精品一区| 麻豆国产91在线播放| 国产精品区免费视频| 一本一道久久a久久精品| 久久亚洲一区二区三区明星换脸 | 精品免费日产一区一区三区免费| 色狠狠一区二区三区香蕉| 久久综合色8888| 日韩成人精品在线观看| 粉嫩精品一区二区三区在线观看|