版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、BSP開(kāi)發(fā)目錄板級(jí)支持包(BSP) 簡(jiǎn)介BSP的結(jié)構(gòu)開(kāi)發(fā)BSP板級(jí)支持包(BSP) 簡(jiǎn)介BSP是板級(jí)支持包,是介于主板硬件和操作系統(tǒng)之間的一層,應(yīng)該說(shuō)是屬于操作系統(tǒng)的一部分,主要目的是為了支持操作系統(tǒng),使之能夠更好的運(yùn)行于硬件主板。BSP與開(kāi)發(fā)板一一對(duì)應(yīng)它所對(duì)應(yīng)的是某塊具體的開(kāi)發(fā)板/產(chǎn)品板,而不是某款CPU,也不是某類CPU體系結(jié)構(gòu)。BSP是相對(duì)于操作系統(tǒng)而言的不同的操作系統(tǒng)對(duì)應(yīng)于不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對(duì)于某一CPU來(lái)說(shuō)盡管實(shí)現(xiàn)的功能一樣,可是寫(xiě)法和接口定義是完全不同的,所以寫(xiě)B(tài)SP一定要按照該系統(tǒng)BSP的定義形式來(lái)寫(xiě)。BSP的編程過(guò)程大多數(shù)是在
2、某一個(gè)成型的BSP模板上進(jìn)行修改,這樣才能與上層OS保持正確的接口,良好的支持上層OS。 板級(jí)支持包(BSP) 簡(jiǎn)介BSP的主要功能系統(tǒng)啟動(dòng)時(shí),完成對(duì)硬件的初始化。例如,對(duì)系統(tǒng)內(nèi)存、寄存器、以及設(shè)備的中斷進(jìn)行設(shè)置。為驅(qū)動(dòng)程序提供訪問(wèn)硬件的手段。BSP的結(jié)構(gòu)BSP主要由4部分組成:OEM抽象層、引導(dǎo)程序、設(shè)備驅(qū)動(dòng)程序和配置文件。OEM抽象層(OAL)OAL : OEM 抽象層位于Windows CE 系統(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)試部件,中斷使能等等。OAL的代碼在物理上是內(nèi)核的一部分,經(jīng)編
3、譯鏈接,OAL成為內(nèi)核的一部分。由硬件 OEM廠商提供。引導(dǎo)程序(Boot Loader)引導(dǎo)程序(Boot Loader)是在硬件開(kāi)發(fā)板上執(zhí)行的一段代碼。主要功能初始化硬件加載操作系統(tǒng)映像到內(nèi)存跳轉(zhuǎn)到操作系統(tǒng)代碼去執(zhí)行EBoot:Boot Loader通過(guò)以太網(wǎng)從工作站下載操作系統(tǒng)映像到目標(biāo)機(jī),然后把映像放到內(nèi)存里執(zhí)行,稱之為EBoot(Ethernet Boot的簡(jiǎn)稱)。配置文件配置文件是一些包含配置信息的文本文件。BSP中的配置文件包括文件.BIB, .DB, .REG, .DAT:這些文件告訴Make Image工具如何生成操作系統(tǒng)映像。Sources, DIRs:告訴構(gòu)建系統(tǒng)如何構(gòu)建
4、代碼。 CEC:BSP可與Platform Builder集成。設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序也是BSP的一個(gè)重要組成部分,支持相關(guān)外圍設(shè)備以及動(dòng)態(tài)安裝的設(shè)備。 對(duì)于某個(gè)特定的BSP來(lái)說(shuō),BSP當(dāng)中應(yīng)該包含在這塊開(kāi)發(fā)板上的所有的外設(shè)驅(qū)動(dòng)程序。通過(guò)BSP包含的設(shè)備驅(qū)動(dòng)程序操作系統(tǒng)能夠發(fā)揮此開(kāi)發(fā)板的最大效能。創(chuàng)建BSP的兩種方法編寫(xiě)全新的BSP需要編寫(xiě)所有的部分包括 OEM抽象層, 驅(qū)動(dòng), 引導(dǎo)程序大約消耗 20人/月工作量改寫(xiě)現(xiàn)有的BSP對(duì)與目標(biāo)板具有相似硬件組成的BSP的基礎(chǔ)上進(jìn)行某些改寫(xiě),使其適用與目標(biāo)板,這是最簡(jiǎn)單的方式。BSP 向?qū)旅媸莿?chuàng)建基于Windows CE 的BSP的一般步驟,典型的
5、情況下會(huì)產(chǎn)生一個(gè) .cec w文件 Platform - BSP Wizard BSP開(kāi)發(fā)流程如果操作系統(tǒng)映象可以直接引導(dǎo),引導(dǎo)程序不是必須的但通常使用一個(gè)引導(dǎo)程序,以便日后的擴(kuò)充。另外也可以用于支持制造過(guò)程中的下載測(cè)試 引導(dǎo)程序的重要性在于可以支持開(kāi)發(fā)過(guò)程中的運(yùn)行時(shí)映象加載功能,也就是說(shuō)在系統(tǒng)運(yùn)行過(guò)程中,動(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)存讀寫(xiě)測(cè)試下載Windows CE 映象到RAM或flash:并口網(wǎng)卡引導(dǎo)程序的加載引導(dǎo)菜單引導(dǎo)程序的開(kāi)發(fā)實(shí)現(xiàn)OEM的應(yīng)用程序接
6、口(API).連接Microsoft提供的庫(kù)引導(dǎo)程序的任務(wù)黑體字標(biāo)識(shí)的函數(shù)需要由OEM廠商來(lái)實(shí)現(xiàn).控制流圖C:WINCE420PUBLICCOMMONOAKDRIVERSETHDBG 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庫(kù) MON 庫(kù) 源文件在 mon.c 文件中,路徑為%_WINCEROOT%PublicCommonOakDriversEt
7、hdbg directory引導(dǎo)程序 OEMDebugInit用來(lái)初始化串行口,作為調(diào)試輸出 OEMDebugInit初始化完成后, 一個(gè)Windows CE的標(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)的
8、到需要運(yùn)行的映象.跳轉(zhuǎn)到由dwLaunchAddr指定的第一條指令,這條指令在運(yùn)行時(shí)映象的啟動(dòng)函數(shù)里.OAL開(kāi)發(fā)類似于引導(dǎo)程序的開(kāi)發(fā)可以重用引導(dǎo)部分的代碼OAL架構(gòu)內(nèi)核開(kāi)發(fā) 黑體顯示的函數(shù)需要由OEM廠商來(lái)實(shí)現(xiàn)內(nèi)核工作流KITL這樣的設(shè)計(jì)可以很容易加入任何調(diào)試服務(wù)功能把通信協(xié)議和與之直接通信的硬件層分離開(kāi)來(lái)減少用戶在創(chuàng)建硬件獨(dú)立層的工作量在系統(tǒng)映象中包含對(duì)KITL的支持CPU加電,跳轉(zhuǎn)到復(fù)位向量可選 引導(dǎo)程序從Startup()開(kāi)始執(zhí)行執(zhí)行OAL中的Startup()KernelStart() KernelInitialize() For x86 Kernel調(diào)用 OAL中的OEMInit()
9、完成內(nèi)核初始化內(nèi)核加載Filesys.exeFileSys初始化注冊(cè)表內(nèi)核加載在HKEY_LOCAL_MACHINEInit 中列出的應(yīng)用程序啟動(dòng)流程驅(qū)動(dòng)程序開(kāi)發(fā)參見(jiàn)前面的課程.利用 BSP Wizard可以添加到BSP中舉例:分析 Motorola DragonBall BSP我們已經(jīng)學(xué)習(xí)過(guò)什么?我們系統(tǒng)、完整地學(xué)習(xí)了 Windows CE 開(kāi)發(fā)流程.從設(shè)備制造商得到硬件和 BSP需要設(shè)計(jì)硬件?設(shè)計(jì)實(shí)現(xiàn)你的硬件為硬件設(shè)計(jì)BSP需要定制平臺(tái)?從設(shè)備制造商處得到平臺(tái)和 SDK 定制你的 Win CE 平臺(tái)導(dǎo)出你的 SDK編碼、測(cè)試發(fā)布產(chǎn)品Windows CE 測(cè)試工具包 (CETK)Tux “s
10、erver”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è)試通過(guò) “Tux”加載自動(dòng)測(cè)試實(shí)際的測(cè)試是以DLLs的形式通過(guò) TUX加載到系統(tǒng)中通用日志引擎 “Kato”DLL exposes C and C+ API for logging to the serverCETK Server利用TUX啟動(dòng)特定的測(cè)試保存日志以及產(chǎn)生報(bào)告運(yùn)行于桌面系統(tǒng)以便進(jìn)行遠(yuǎn)程測(cè)試Windows CE 測(cè)試工具包 (CETK)TUX ServerTUX.EXE監(jiān)控 TUX 測(cè)試 DLLs的程序?qū)嶋H的測(cè)試是以 DLL的形式進(jìn)行的通過(guò) 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+ 類庫(kù)C 函數(shù)從TUX測(cè)試抽象出日志機(jī)制本地文件遠(yuǎn)端連接設(shè)備驅(qū)動(dòng)加載以及TUX擴(kuò)展 (DDLX)允許測(cè)試 DLL加載到設(shè)備管理進(jìn)程空間允許對(duì)APIs和功能的測(cè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 東營(yíng)職業(yè)學(xué)院《兒童保健學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國(guó)空氣炸鍋小家電市場(chǎng)飽和度分析及產(chǎn)品升級(jí)與渠道變革預(yù)測(cè)報(bào)告
- 2026隴塬大數(shù)據(jù)會(huì)寧服務(wù)中心招聘?jìng)淇碱}庫(kù)(甘肅)及參考答案詳解一套
- 營(yíng)銷策略執(zhí)行標(biāo)準(zhǔn)操作手冊(cè)
- 2026福建水投集團(tuán)漳浦水務(wù)有限公司招聘23人備考題庫(kù)及答案詳解(新)
- 2026西藏林芝巴宜區(qū)委政法委招聘鐵路護(hù)路聯(lián)防專職隊(duì)員5人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2026福建三明市浦豐鄉(xiāng)村發(fā)展集團(tuán)有限公司及其下屬企業(yè)招聘4人備考題庫(kù)及參考答案詳解一套
- 陜西旅游烹飪職業(yè)學(xué)院《教學(xué)技能培養(yǎng)與提升》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢紡織大學(xué)《中學(xué)化學(xué)課程與教學(xué)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 中南林業(yè)科技大學(xué)涉外學(xué)院《工程地質(zhì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京市順義區(qū)2025-2026學(xué)年八年級(jí)上學(xué)期期末考試英語(yǔ)試題(原卷版+解析版)
- 中學(xué)生冬季防溺水主題安全教育宣傳活動(dòng)
- 2026年藥廠安全生產(chǎn)知識(shí)培訓(xùn)試題(達(dá)標(biāo)題)
- 初中九年級(jí)上一元二次方程計(jì)算練習(xí)題及答案詳解B2
- 冷庫(kù)防護(hù)制度規(guī)范
- 廣東省廣州市番禺區(qū)2026屆高一數(shù)學(xué)第一學(xué)期期末聯(lián)考試題含解析
- 2026年廣東省佛山市高三語(yǔ)文聯(lián)合診斷性考試作文題及3篇范文:可以“重讀”甚至“重構(gòu)”這些過(guò)往
- 2025年汽車駕駛員技師考試試題及答案含答案
- 2025年國(guó)際中文教師證書(shū)考試真題附答案
- 倒掛井壁法施工安全技術(shù)保證措施
- 2025年低空經(jīng)濟(jì)無(wú)人機(jī)災(zāi)害預(yù)警行業(yè)報(bào)告
評(píng)論
0/150
提交評(píng)論