京卓電子學(xué)習(xí)3嵌入式操作系統(tǒng)windowsce bsp開發(fā)_第1頁
京卓電子學(xué)習(xí)3嵌入式操作系統(tǒng)windowsce bsp開發(fā)_第2頁
京卓電子學(xué)習(xí)3嵌入式操作系統(tǒng)windowsce bsp開發(fā)_第3頁
京卓電子學(xué)習(xí)3嵌入式操作系統(tǒng)windowsce bsp開發(fā)_第4頁
京卓電子學(xué)習(xí)3嵌入式操作系統(tǒng)windowsce bsp開發(fā)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

嵌入式軟件開發(fā)導(dǎo)論同濟(jì)大學(xué)軟件學(xué)院20058.BSP開發(fā)目錄板級(jí)支持包(BSP)的開發(fā)標(biāo)準(zhǔn)CETK測(cè)試的使用板級(jí)支持包(BSP)簡介BSP是在標(biāo)準(zhǔn)開發(fā)板上運(yùn)行的一部分軟件,主要功能是支持操作系統(tǒng)的引導(dǎo)與開發(fā)。通過BSP我們可以在開發(fā)板上快速的啟動(dòng)操作系統(tǒng)以及分析操作系統(tǒng)的性能。有了BSP的支持,各個(gè)OEM(原始設(shè)備制造商)廠商和獨(dú)立硬件開發(fā)商就可以縮短基于WindowsCE平臺(tái)產(chǎn)品的開發(fā)周期。CPU支持包(CSP)&OEM抽象層(OAL)OAL:OEM抽象層位于WindowsCE系統(tǒng)內(nèi)核和目標(biāo)板硬件之間,負(fù)責(zé)操作系統(tǒng)和目標(biāo)板的通信。由引導(dǎo)程序調(diào)用,隨后進(jìn)行目標(biāo)板的初始化工作,包括中斷服務(wù),實(shí)時(shí)時(shí)鐘,內(nèi)部計(jì)時(shí)器,調(diào)試部件,中斷使能等等由硬件OEM廠商提供CPU支持包(CSP)&OEM抽象層(OAL)CSP:CPU支持包包括用以支持特定CPU和相關(guān)芯片的OEM抽象層和設(shè)備驅(qū)動(dòng),這一部分是與特定開發(fā)板無關(guān)的。通常由操作系統(tǒng)開發(fā)商提供,WinCE操作系統(tǒng)是由微軟公司開發(fā)的。板級(jí)支持包的組成內(nèi)容描述引導(dǎo)程序加載操作系統(tǒng)映象OEM抽象層(OAL)連接內(nèi)核映象,支持硬件的初始化和管理設(shè)備驅(qū)動(dòng)支持相關(guān)外圍設(shè)備以及動(dòng)態(tài)安裝的設(shè)備配置文件可以通過對(duì)環(huán)境變量、.bib文件和and.reg文件的修改來重新配置BSPBSP架構(gòu)硬件抽象層驅(qū)動(dòng)配置文件引導(dǎo)程序標(biāo)準(zhǔn)開發(fā)板BSP創(chuàng)建BSP的兩種方法編寫全新的BSP需要編寫所有的部分包括OEM抽象層,驅(qū)動(dòng),引導(dǎo)程序大約消耗20人/月工作量改寫現(xiàn)有的BSP對(duì)與目標(biāo)板具有相似硬件組成的BSP的基礎(chǔ)上進(jìn)行某些改寫,使其適用與目標(biāo)板,這是最簡單的方式。BSP向?qū)旅媸莿?chuàng)建基于WindowsCE的BSP的一般步驟,典型的情況下會(huì)產(chǎn)生一個(gè).cecw文件Platform->BSPWizardBSP開發(fā)流程如果操作系統(tǒng)映象可以直接引導(dǎo),引導(dǎo)程序不是必須的但通常使用一個(gè)引導(dǎo)程序,以便日后的擴(kuò)充。另外也可以用于支持制造過程中的下載測(cè)試

引導(dǎo)程序的重要性在于可以支持開發(fā)過程中的運(yùn)行時(shí)映象加載功能,也就是說在系統(tǒng)運(yùn)行過程中,動(dòng)態(tài)加載需要調(diào)試的模塊引導(dǎo)程序(可選)引導(dǎo)程序的功能初始化目標(biāo)設(shè)備內(nèi)存和中斷控制器設(shè)置時(shí)鐘和內(nèi)存管理單元直接引導(dǎo)現(xiàn)存的flash或RAM映象下載之前清空RAM內(nèi)存讀寫測(cè)試下載WindowsCE映象到RAM或flash:并口網(wǎng)卡引導(dǎo)程序的加載引導(dǎo)菜單引導(dǎo)程序的開發(fā)實(shí)現(xiàn)OEM的應(yīng)用程序接口(API).連接Microsoft提供的庫引導(dǎo)程序的任務(wù)黑體字標(biāo)識(shí)的函數(shù)需要由OEM廠商來實(shí)現(xiàn).控制流圖C:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\MON引導(dǎo)程序–StartUp函數(shù)硬件復(fù)位和運(yùn)行時(shí)復(fù)位需要執(zhí)行的第一條指令設(shè)置為超級(jí)用戶模式執(zhí)行必須的硬件初始化:CPU內(nèi)存控制器系統(tǒng)時(shí)鐘串口緩存快表(TLBs)根據(jù)使用的CPU修改Startup.s引導(dǎo)程序--EbootMainEbootMain是C代碼運(yùn)行的入口調(diào)用MON庫MON庫源文件在mon.c文件中,路徑為%_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbgdirectory引導(dǎo)程序–OEMDebugInit用來初始化串行口,作為調(diào)試輸出

OEMDebugInit初始化完成后,一個(gè)WindowsCE的標(biāo)記會(huì)出現(xiàn),表示這個(gè)接口可以使用了.引導(dǎo)程序--OEMPlatformInit各種OEM硬件平臺(tái)初始化函數(shù),包括時(shí)鐘,PCI接口,或者NIC接口.NIC接口用于下載映象,另外服務(wù)于后面一些函數(shù).引導(dǎo)程序--OEMPreDownload在加載一個(gè)運(yùn)行時(shí)映象時(shí)首先被MON調(diào)用.查找硬件設(shè)備的IP地址,并與宿主機(jī)相連如果出錯(cuò)返回-1引導(dǎo)程序--OEMLaunchOEMLaunch是引導(dǎo)程序的最后一個(gè)需要運(yùn)行的函數(shù).負(fù)責(zé)跳轉(zhuǎn)的到需要運(yùn)行的映象.跳轉(zhuǎn)到由dwLaunchAddr指定的第一條指令,這條指令在運(yùn)行時(shí)映象的啟動(dòng)函數(shù)里.OAL開發(fā)類似于引導(dǎo)程序的開發(fā)可以重用引導(dǎo)部分的代碼OAL架構(gòu)內(nèi)核開發(fā)

黑體顯示的函數(shù)需要由OEM廠商來實(shí)現(xiàn)內(nèi)核工作流KITL這樣的設(shè)計(jì)可以很容易加入任何調(diào)試服務(wù)功能把通信協(xié)議和與之直接通信的硬件層分離開來減少用戶在創(chuàng)建硬件獨(dú)立層的工作量在系統(tǒng)映象中包含對(duì)KITL的支持CPU加電,跳轉(zhuǎn)到復(fù)位向量[可選]引導(dǎo)程序從Startup()開始執(zhí)行執(zhí)行OAL中的Startup()KernelStart()[KernelInitialize()Forx86]Kernel調(diào)用OAL中的OEMInit()完成內(nèi)核初始化內(nèi)核加載Filesys.exeFileSys初始化注冊(cè)表內(nèi)核加載在HKEY_LOCAL_MACHINE\Init中列出的應(yīng)用程序啟動(dòng)流程驅(qū)動(dòng)程序開發(fā)參見前面的課程.利用BSPWizard可以添加到BSP中舉例:

分析MotorolaDragonBallBSP我們已經(jīng)學(xué)習(xí)過什么?我們系統(tǒng)、完整地學(xué)習(xí)了WindowsCE開發(fā)流程.從設(shè)備制造商得到硬件和BSP需要設(shè)計(jì)硬件?設(shè)計(jì)實(shí)現(xiàn)你的硬件為硬件設(shè)計(jì)BSP需要定制平臺(tái)?從設(shè)備制造商處得到平臺(tái)和SDK定制你的WinCE平臺(tái)導(dǎo)出你的SDK編碼、測(cè)試發(fā)布產(chǎn)品WindowsCE測(cè)試工具包(CETK)Tux“server”Kato日志引擎設(shè)備驅(qū)動(dòng)加載以及TUX擴(kuò)展(DDLX)常規(guī)TUX測(cè)試綜述CETK結(jié)構(gòu)Microsoft提供了自動(dòng)測(cè)試體系結(jié)構(gòu)Client/Server結(jié)構(gòu)支持遠(yuǎn)端測(cè)試通過“Tux”加載自動(dòng)測(cè)試實(shí)際的測(cè)試是以DLLs的形式通過TUX加載到系統(tǒng)中通用日志引擎“Kato”DLLexposesCandC++APIforloggingtotheserverCETKServer利用TUX啟動(dòng)特定的測(cè)試保存日志以及產(chǎn)生報(bào)告運(yùn)行于桌面系統(tǒng)以便進(jìn)行遠(yuǎn)程測(cè)試WindowsCE測(cè)試工具包(CETK)TUXServerTUX.EXE監(jiān)控TUX測(cè)試DLLs的程序?qū)嶋H的測(cè)試是以DLL的形式進(jìn)行的通過TUX.EXE加載測(cè)試DLL由遠(yuǎn)端用戶界面應(yīng)用程序發(fā)起運(yùn)行桌面系統(tǒng)上的CETEST.EXE也可以在設(shè)備上獨(dú)立運(yùn)行KATO日志引擎DLL:提供API,以便將測(cè)試結(jié)果保存成日志C++類庫C函數(shù)從TUX測(cè)試抽象出日志機(jī)制本地文件遠(yuǎn)端連接設(shè)備驅(qū)動(dòng)加載以及TUX擴(kuò)展(DDLX)允許測(cè)試DLL加載到設(shè)備管理進(jìn)程空間允許對(duì)APIs和功能的測(cè)試僅僅對(duì)設(shè)備管理模塊可用設(shè)備管理模塊直接向驅(qū)動(dòng)提供APIs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論