Windows CE.NET系統(tǒng)開發(fā).ppt_第1頁
Windows CE.NET系統(tǒng)開發(fā).ppt_第2頁
Windows CE.NET系統(tǒng)開發(fā).ppt_第3頁
Windows CE.NET系統(tǒng)開發(fā).ppt_第4頁
Windows CE.NET系統(tǒng)開發(fā).ppt_第5頁
已閱讀5頁,還剩97頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1、第14章windows CE.NET系統(tǒng)開發(fā)、14.1 windows CE.NET開發(fā)、14.2 BSP開發(fā)概述、14.3驅(qū)動程序開發(fā)、14.4 BootLoader開發(fā)、14.5 OAL開發(fā)、2、14.1 windows CE.NET開發(fā)、3、windows CE.NET開發(fā),根據(jù)開發(fā)水平和工具不同:windows CE.NET應(yīng)用程序開發(fā)windows CE.NET系統(tǒng)開發(fā)、OEM硬件、嵌入式外殼、應(yīng)用程序、內(nèi)核、紅外、GWES、設(shè)備管理、文件管理、TCP/IP IPv6、OAL Bootloader、驅(qū)動程序、設(shè)備驅(qū)動程序、文件驅(qū)動程序,這些都可以Isv,OEM,4,14 . 1

2、. 1 windows CE.NET系統(tǒng)開發(fā),windows CE.NET操作系統(tǒng)定制windows CE.NET驅(qū)動程序開發(fā)windows CE.NET操作系統(tǒng)移植(BSP開發(fā)),5,(1)windows CE.NET操作系統(tǒng)定制,操作系統(tǒng)定制的一般流程:獲取并安裝BSP (CEC文件)PB,并從OEM硬件制造商處獲取自行開發(fā)的定制操作系統(tǒng)生成操作系統(tǒng)映像:NK.bin文件下載并調(diào)試模擬CEPC下載到開發(fā)板進(jìn)行調(diào)試;6.(2)Windows CE.NET驅(qū)動開發(fā),通用操作系統(tǒng)驅(qū)動模型,兩種模式:靜態(tài)鏈接:驅(qū)動代碼編譯成。LIB文件并與操作系統(tǒng)內(nèi)核鏈接形成一個(gè)整體,具有操作性。動態(tài)鏈接:操作系

3、統(tǒng)在啟動后延遲加載硬件驅(qū)動程序,但它仍然被加載到操作系統(tǒng)的內(nèi)核空間。windows CE.NET驅(qū)動程序模型相當(dāng)特別。在視窗操作系統(tǒng)下,所有驅(qū)動程序在用戶模式下作為動態(tài)鏈接庫文件存在。7,(3)視窗CE.NET操作系統(tǒng)移植,BSP(主板支持包):它是主板硬件和操作系統(tǒng)之間的一層軟件系統(tǒng)。開發(fā)BSP的主要內(nèi)容包括:引導(dǎo)加載程序開發(fā)OAL開發(fā),8,2。windows CE.NET應(yīng)用程序開發(fā),windows CE.NET為應(yīng)用程序開發(fā)人員提供了三種選擇,它們是Win32應(yīng)用程序編程接口(Win32 API)、微軟基礎(chǔ)類(MFC)和活動模板庫(atl)。 NET緊湊框架。net cf),9,wind

4、ows CE.NET應(yīng)用程序開發(fā)的選擇,10,三個(gè)API特性的比較,11,設(shè)備開發(fā)構(gòu)建和調(diào)出設(shè)備,調(diào)試設(shè)備,構(gòu)建設(shè)備映像,組件目錄包括。應(yīng)用程序開發(fā)構(gòu)建豐富的應(yīng)用程序,智能設(shè)備可編程性,Visual Studio。NET VB/C#,eMbedded Visual C 4.0 C/C MFC/ATL,Device underwritten,開發(fā)周期從平臺到應(yīng)用程序,下載設(shè)備特定的Windows CE操作系統(tǒng)和應(yīng)用程序,通過KITL,通過KITL,導(dǎo)出帶有設(shè)備特定的Win32 APIs的軟件開發(fā)工具包或使用標(biāo)準(zhǔn)軟件開發(fā)工具包,設(shè)備仿真,平臺構(gòu)建器,12,14 . 1 . 2 Windows CE

5、.NET開發(fā)過程,1。迭代開發(fā)過程基于Windows CE設(shè)備的開發(fā)過程是一個(gè)迭代開發(fā)過程,包括不斷修改、添加配置功能、構(gòu)建、下載、調(diào)試等步驟,13。典型的平臺開發(fā)周期,在典型的平臺開發(fā)周期中,為了構(gòu)建一個(gè)基于視窗操作系統(tǒng)的平臺。開發(fā)人員必須首先選擇一個(gè)適合目標(biāo)設(shè)備的視窗操作系統(tǒng)配置,即定制平臺。然后,基于上述配置創(chuàng)建操作系統(tǒng)映像,并且開發(fā)引導(dǎo)加載器以將該映像下載到目標(biāo)設(shè)備(例如CEPC或真實(shí)的目標(biāo)板)。在目標(biāo)平臺上,開發(fā)人員可以修改和調(diào)試操作系統(tǒng)(調(diào)試平臺),使其更適合目標(biāo)設(shè)備。一旦配置了操作系統(tǒng),開發(fā)人員就可以使用P1atform Builder提供的導(dǎo)出軟件開發(fā)工具包工具。串行開發(fā)和并行

6、開發(fā),一個(gè)完整的基于視窗操作系統(tǒng)的設(shè)備開發(fā)過程包括三個(gè)階段:硬件開發(fā)和調(diào)試(硬件端口),視窗操作系統(tǒng)定制(定制操作系統(tǒng))和應(yīng)用程序開發(fā)和調(diào)試(開發(fā)應(yīng)用程序)。由于后一階段的工作必須依賴于前一階段工作的完成,傳統(tǒng)的開發(fā)和設(shè)計(jì)過程是一個(gè)循序漸進(jìn)的過程。15.并行開發(fā)。為了縮短基于Windows CE設(shè)備的開發(fā)周期,充分調(diào)動開發(fā)人員的積極性,有必要減少或消除上述三個(gè)階段之間的相關(guān)性,使每個(gè)階段的工作能夠獨(dú)立進(jìn)行。,16,并行開發(fā)過程,當(dāng)硬件開發(fā)者開發(fā)和調(diào)試定制的設(shè)備硬件時(shí),操作系統(tǒng)開發(fā)者可以首先在模擬器或任何SDB上開始定制操作系統(tǒng)特征,并根據(jù)設(shè)備定義為應(yīng)用開發(fā)者導(dǎo)出SDK。在硬件開發(fā)者開發(fā)硬件和操

7、作系統(tǒng)開發(fā)者定制操作系統(tǒng)的同時(shí),應(yīng)用開發(fā)者也可以首先在模擬器上開發(fā)和調(diào)試應(yīng)用軟件。當(dāng)操作系統(tǒng)開發(fā)人員導(dǎo)出軟件開發(fā)工具包時(shí),它還可以在SDB上開發(fā)和調(diào)試應(yīng)用程序。這三個(gè)階段完成后,定制的操作系統(tǒng)和開發(fā)的應(yīng)用程序最終被移植到定制的設(shè)備硬件上進(jìn)行全面的測試和調(diào)試。17,3。工程開發(fā)進(jìn)度圖,一個(gè)典型的視窗操作系統(tǒng)工程開發(fā)進(jìn)度圖,顯示了每個(gè)階段要完成的主要開發(fā)任務(wù)及其時(shí)間表,主要包括四個(gè)任務(wù):操作系統(tǒng)移植、操作系統(tǒng)定制、應(yīng)用程序開發(fā)和測試質(zhì)量保證。18,14.2 BSP開發(fā)概述,19,14.2.1 BSP概述,Windows CE的可移植性。NET是通過平衡計(jì)分卡實(shí)現(xiàn)的。視窗操作系統(tǒng)采用分層設(shè)計(jì)方法,將

8、系統(tǒng)中與硬件直接相關(guān)的一層軟件分離出來,稱為板支持包。BSP位于硬件平臺和操作系統(tǒng)之間,是操作系統(tǒng)的一部分。其主要功能是將系統(tǒng)硬件配置為正常工作狀態(tài),完成硬件和軟件之間的信息交互,為操作系統(tǒng)和上層應(yīng)用提供一個(gè)獨(dú)立于硬件的軟件平臺(包括操作系統(tǒng)驅(qū)動和硬件驅(qū)動)。BSP可以支持許多硬件平臺。20,BSP功能,其具體功能包括:硬件初始化,主要是中央處理器初始化,為整個(gè)軟件系統(tǒng)提供底層硬件支持;為操作系統(tǒng)提供設(shè)備驅(qū)動程序和系統(tǒng)中斷服務(wù)程序;定制操作系統(tǒng)的功能,為軟件系統(tǒng)提供實(shí)時(shí)多任務(wù)運(yùn)行環(huán)境;初始化操作系統(tǒng),為操作系統(tǒng)的正常運(yùn)行做準(zhǔn)備。主板上的基本輸入輸出系統(tǒng)和基本輸入輸出系統(tǒng)的區(qū)別在于基本輸入輸出系

9、統(tǒng)主要負(fù)責(zé)檢測和初始化系統(tǒng)設(shè)備(設(shè)置堆棧指針、中斷分配、內(nèi)存初始化、),加載操作系統(tǒng)并將操作系統(tǒng)發(fā)出的指令發(fā)送到硬件。其固件代碼在芯片生產(chǎn)過程中固化,一般用戶不能修改。操作系統(tǒng)正常運(yùn)行后,基本輸入輸出系統(tǒng)的功能基本完成。電腦基本輸入輸出系統(tǒng)的功能更像嵌入式系統(tǒng)中的引導(dǎo)程序(最低的引導(dǎo)軟件,初始化主板的基本設(shè)置,為接收外部程序做硬件準(zhǔn)備)。與引導(dǎo)加載器不同,基本輸入輸出系統(tǒng)傳輸一些參數(shù)設(shè)置(中斷端口定義等)。)加載操作系統(tǒng),而引導(dǎo)加載程序只是加載系統(tǒng)。BSP與操作系統(tǒng)相連,在主板上運(yùn)行。雖然基本輸入輸出系統(tǒng)的初始部分類似于基本輸入輸出系統(tǒng)所做的工作,但是基本輸入輸出系統(tǒng)的大部分不同于基本輸入輸出

10、系統(tǒng),并且具有完全不同的功能。此外,BSP還包含與系統(tǒng)相關(guān)的基本驅(qū)動程序(串行端口、網(wǎng)絡(luò)端口.)。此外,程序員還可以通過編程修改BSP,隨意添加一些與系統(tǒng)無關(guān)的驅(qū)動程序或程序,甚至將所有上層開發(fā)都放入BSP?;据斎胼敵鱿到y(tǒng)程序不能被用戶修改、編譯和編程,只能修改和設(shè)置參數(shù)。更不用說一些基本的硬件驅(qū)動程序了。22,14.2.2 BSP基本結(jié)構(gòu),BSP主要由四部分組成:OEM抽象層,引導(dǎo)程序,設(shè)備驅(qū)動程序和配置文件,23,1。引導(dǎo)加載程序,是在硬件開發(fā)板上執(zhí)行的一段代碼。它的主要功能是初始化硬件,將操作系統(tǒng)映像加載到內(nèi)存中,然后跳轉(zhuǎn)到操作系統(tǒng)代碼執(zhí)行。24,2。OAL,簡稱原始設(shè)備制造商抽象層。

11、它是操作系統(tǒng)內(nèi)核抽象出來的與硬件交互的接口,其實(shí)現(xiàn)代碼通常與硬件高度相關(guān)。OAL層主要負(fù)責(zé)視窗操作系統(tǒng)內(nèi)核和硬件之間的通信。引導(dǎo)程序完成操作系統(tǒng)引導(dǎo)后,OAL層負(fù)責(zé)硬件平臺初始化、中斷服務(wù)例程ISR、實(shí)時(shí)時(shí)鐘RTC、定時(shí)器定時(shí)器、內(nèi)核調(diào)試、切換中斷和內(nèi)核性能監(jiān)控。,25,3。設(shè)備驅(qū)動是平衡計(jì)分卡的關(guān)鍵。對于一個(gè)特定的操作系統(tǒng),它應(yīng)該包括開發(fā)板上的所有設(shè)備驅(qū)動程序,以保證操作系統(tǒng)能夠發(fā)揮開發(fā)板的最大效率。26,4。配置文件是包含配置信息的文本文件。該配置信息通常與系統(tǒng)映像或源代碼相關(guān)。BSP中的配置文件包括:映像配置文件BIB、DB、REG、DAT、源代碼配置文件Sources和DIRS文件,以

12、及集成BSP和平臺構(gòu)建器的CEC文件。27,14.2.3 BSP開發(fā),BSP開發(fā)思想一般來說,BSP的開發(fā)并不要求開發(fā)者從普通類型的中央處理器和外圍設(shè)備開始。平臺構(gòu)建器提供引導(dǎo)加載器、OAL和設(shè)備驅(qū)動程序的源代碼,只要平臺構(gòu)建器和微軟提供的內(nèi)核對現(xiàn)有的BSP進(jìn)行裁剪和輕微修改,大多數(shù)硬件設(shè)備都可以被驅(qū)動。此外,平臺構(gòu)建器還提供了豐富的標(biāo)準(zhǔn)應(yīng)用程序和服務(wù)。在開發(fā)原始設(shè)備制造商層之后,這些應(yīng)用和服務(wù)可以使用戶的硬件平臺工作。28,BSP開發(fā)流程,BSP開發(fā)包括三個(gè)方面:引導(dǎo)加載程序開發(fā)、OAL開發(fā)和驅(qū)動程序開發(fā)。BSP可以定義為. cec文件,它定義了一組可以添加到定制硬件平臺的默認(rèn)功能。BSP開

13、發(fā)的步驟如下:(1)硬件準(zhǔn)備(2)克隆參考BSP (3)開發(fā)引導(dǎo)加載程序(4)開發(fā)OAL (5)開發(fā)驅(qū)動程序(6)發(fā)布BSP,29,14.3開發(fā)驅(qū)動程序,30,14.3.1編譯Windows CE.NET驅(qū)動程序的元素,了解驅(qū)動程序所針對的硬件,閱讀硬件說明書和白皮書,了解驅(qū)動程序在目標(biāo)操作系統(tǒng)下的工作機(jī)制,加載和卸載初始化,訪問外設(shè)I/O處理中斷處理DMA,了解驅(qū)動程序模型。對于某種外圍設(shè)備,操作系統(tǒng)將提供特定的驅(qū)動程序模型。31.驅(qū)動程序開發(fā)工具,視窗操作系統(tǒng)的驅(qū)動程序可以使用平臺構(gòu)建器或Visual Studio開發(fā)。平臺開發(fā)人員通常使用平臺構(gòu)建器來開發(fā)設(shè)備驅(qū)動程序,這些驅(qū)動程序是作為B

14、SP(板支持包)的一部分進(jìn)行編譯和開發(fā)的。獨(dú)立硬件供應(yīng)商(IHV)使用平臺構(gòu)建器開發(fā)驅(qū)動程序,也使用Visual Studio開發(fā)一些驅(qū)動程序。應(yīng)用程序開發(fā)人員更經(jīng)常地使用Visual Studio開發(fā)驅(qū)動程序,并且在某些情況下使用PB。32,14 . 3 . 2 Windows CE.NET的驅(qū)動程序模型連接操作系統(tǒng)和設(shè)備,以便操作系統(tǒng)可以識別設(shè)備并為應(yīng)用程序提供設(shè)備服務(wù)。驅(qū)動程序模型決定了驅(qū)動程序的軟件接口。因此,不同的驅(qū)動程序型號只能通過它們支持的軟件接口來區(qū)分,而不能通過它們適用的設(shè)備來區(qū)分。根據(jù)加載方式和接口類型,基于視窗操作系統(tǒng)的驅(qū)動程序主要分為兩類:33。(1)內(nèi)置驅(qū)動程序,也稱

15、為本機(jī)設(shè)備驅(qū)動程序。它由微軟開發(fā),直接由系統(tǒng)支持,適用于集成到消費(fèi)電子平臺的設(shè)備。典型的驅(qū)動程序包括電源驅(qū)動程序、顯示驅(qū)動程序、鼠標(biāo)和鍵盤驅(qū)動程序、打印機(jī)驅(qū)動程序和發(fā)光二極管顯示驅(qū)動程序。這些驅(qū)動程序通常由GWES(圖形窗口和事件子系統(tǒng))管理和加載,并成為GWES的一部分,而不是作為一個(gè)單獨(dú)的動態(tài)鏈接庫使用。34,(2)流接口驅(qū)動程序,另一個(gè)名稱也稱為可安裝驅(qū)動程序。它具有良好的可移植性和可擴(kuò)展性,由設(shè)備管理器獨(dú)立管理和協(xié)調(diào)。流驅(qū)動程序是一種通用類型的設(shè)備驅(qū)動程序,它支持幾乎所有可以連接到Winows CE平臺的外部設(shè)備,因此使用較為普遍。35,流接口驅(qū)動程序。流接口驅(qū)動程序在用戶模式下顯示為一個(gè)動態(tài)鏈接庫文件,通常由設(shè)備管理器動態(tài)加載。驅(qū)動程序接口是一個(gè)標(biāo)準(zhǔn)的流接口,特別適合輸入輸出操作。它實(shí)現(xiàn)了一組流接口函數(shù)(創(chuàng)建文件、讀文件、寫文件、本地控制等)。),它使應(yīng)用程序能夠通過文件系統(tǒng)訪問驅(qū)動程序,也就是說,將設(shè)

溫馨提示

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

最新文檔

評論

0/150

提交評論