嵌入式軟件開發(fā)導(dǎo)論課件_第1頁
嵌入式軟件開發(fā)導(dǎo)論課件_第2頁
嵌入式軟件開發(fā)導(dǎo)論課件_第3頁
嵌入式軟件開發(fā)導(dǎo)論課件_第4頁
嵌入式軟件開發(fā)導(dǎo)論課件_第5頁
已閱讀5頁,還剩447頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.嵌入式系統(tǒng)嵌入式軟件開發(fā)導(dǎo)論目錄什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)特點(diǎn)嵌入式系統(tǒng)結(jié)構(gòu)嵌入式硬件嵌入式軟件目錄什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)特點(diǎn)嵌入式系統(tǒng)結(jié)構(gòu)嵌入式硬件嵌入式軟件什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡而言之,它是完成特定任務(wù)的計(jì)算機(jī)系統(tǒng)。什么是嵌入式系統(tǒng)?“所有的計(jì)算機(jī)系統(tǒng)都是通過編程來執(zhí)行任務(wù)的?”嵌入式系統(tǒng)里的程序是被寫死的。系統(tǒng)上電后程序開始執(zhí)行直至系統(tǒng)關(guān)閉,程序是不能被改變的,除非開發(fā)人員采用特定的方法才能對程序進(jìn)行改進(jìn)并重新寫入系統(tǒng)。什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)往往做為一個大型系統(tǒng)的組成部分被嵌入到該系統(tǒng)中(這也是它名稱的由來),嵌套關(guān)系可能相當(dāng)復(fù)雜,也可能非常簡單,它的表現(xiàn)形式多種多樣。嵌入式系統(tǒng)應(yīng)用PDA

消費(fèi)電子

信息家電

移動通信GPS

智能識別系統(tǒng)

導(dǎo)航系統(tǒng)

汽車電子嵌入式系統(tǒng)應(yīng)用

工業(yè)控制

火控系統(tǒng)

數(shù)字電視

飛行控制系統(tǒng)

測試儀器

醫(yī)療設(shè)備

游戲機(jī)

等等……Mars,December3,1999Crashedduetouninitializedvariable目錄什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)特點(diǎn)嵌入式系統(tǒng)結(jié)構(gòu)嵌入式硬件嵌入式軟件嵌入式系統(tǒng)特點(diǎn)實(shí)時性

小尺寸(資源,代碼,規(guī)格……)

低功耗

高效率……什么是實(shí)時性?

對于實(shí)時系統(tǒng),它的正確性不僅與系統(tǒng)的邏輯正確性相關(guān),而且與系統(tǒng)的響應(yīng)時間相關(guān)。如果系統(tǒng)的響應(yīng)不能滿足時限要求,即使它能得到正確的輸出,我們也只能說它是一個失敗的響應(yīng)。——Donald

Gillies什么是實(shí)時性?

操作系統(tǒng)中的實(shí)時性:

操作系統(tǒng)對時限要求的一種響應(yīng)能力。——POSIX標(biāo)準(zhǔn)1003.1實(shí)時系統(tǒng)

在時限范圍內(nèi)的正確響應(yīng)

通常是嵌入式系統(tǒng)

通常是分布式系統(tǒng)

對時限要求的不同

硬實(shí)時系統(tǒng)

軟實(shí)時系統(tǒng)硬實(shí)時和軟實(shí)時

硬實(shí)時

系統(tǒng)對時限的要求特別嚴(yán)格,如果不滿足時限要求會給系統(tǒng)帶來災(zāi)難性后果。如飛行控制系統(tǒng)。

軟實(shí)時

系統(tǒng)對時限的要求不是很迫切,如果不能滿足時限要求,系統(tǒng)仍然可以正常工作,只是性能有所影響而已。如數(shù)據(jù)采集系統(tǒng)。實(shí)時系統(tǒng)

硬實(shí)時系統(tǒng)應(yīng)用

汽車(沃爾沃S80有19臺計(jì)算機(jī))

飛機(jī)(JAS)

醫(yī)療設(shè)備

空間設(shè)備(火星探測器)

軍方系統(tǒng)

工業(yè)自動化實(shí)時系統(tǒng)

軟實(shí)時系統(tǒng)應(yīng)用

游戲DVD(MPEG編碼)

英特網(wǎng)視頻和廣播

通訊目錄什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)特點(diǎn)嵌入式系統(tǒng)結(jié)構(gòu)

嵌入式硬件嵌入式軟件嵌入式系統(tǒng)結(jié)構(gòu)硬件操作系統(tǒng)

程序硬件內(nèi)嵌式操作系統(tǒng)系統(tǒng)組件用戶程序嵌入式系統(tǒng)結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)嵌入式系統(tǒng)應(yīng)用實(shí)例數(shù)字控制算法數(shù)據(jù)日志數(shù)據(jù)獲取和顯示操作員界面界面工程系統(tǒng)遠(yuǎn)程監(jiān)視系統(tǒng)實(shí)時時鐘數(shù)據(jù)庫操作員控制臺顯示設(shè)備實(shí)時計(jì)算機(jī)目錄什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)特點(diǎn)嵌入式系統(tǒng)結(jié)構(gòu)嵌入式硬件嵌入式軟件嵌入式系統(tǒng)硬件CPUIntelx86PowerPC(Mac)G3,G4,G5SPARC,AlphaARMMIPS……位寬8位控制器(仍然存在!)16位控制器(主流)32位控制器(開始流行)64位控制器(高性能)嵌入式系統(tǒng)硬件

CPU市場份額嵌入式硬件實(shí)例問題

功耗和能量為何擔(dān)心能量和電力?“電能是嵌入式系統(tǒng)的最大約束”

[in:L.Eggermont(ed):EmbeddedSystemsRoadmap2002,STW]目前的UMTS電話系統(tǒng)幾乎不可能在數(shù)據(jù)一直被傳輸?shù)那闆r下被操作多于一小時的時間。

[fromareportoftheFinancialTimes,Germany,onananalysisbyCreditSuisseFirstBoston;http://www.ftd.de/tm/tk/9580232.html?nv=se]目錄什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)特點(diǎn)嵌入式系統(tǒng)結(jié)構(gòu)嵌入式硬件嵌入式軟件嵌入式軟件——目標(biāo)設(shè)計(jì)可靠、穩(wěn)定、高效的嵌入式軟件,需要考慮

繼承性

有限的資源

多樣性

可讀性

并發(fā)性

兼容性

實(shí)時性

層次嵌入式系統(tǒng)軟件的特點(diǎn)HardwareIncludingOperatingSystemComponentsUserProgram嵌入式系統(tǒng)

有限的資源

實(shí)時性

操作系統(tǒng)與用戶軟件沒有明顯的界線

開發(fā)模式hosttarget串口以太網(wǎng)嵌入式系統(tǒng)軟件的今天嵌入式系統(tǒng)軟件的明天作業(yè)你是如何理解嵌入式系統(tǒng)的?在日常生活中,你接觸過哪些嵌入式產(chǎn)品?他們都有些什么功能?嵌入式系統(tǒng)中的軟件有哪些特征?比較嵌入式系統(tǒng)與普通的計(jì)算機(jī)系統(tǒng)存有哪些相同和不同之處。嵌入式軟件開發(fā)導(dǎo)論2.嵌入式操作系統(tǒng)目錄什么是嵌入式操作系統(tǒng)?常用嵌入式操作系統(tǒng)簡介WindowsEmbeddedVxWorksEmbeddedLinux目錄什么是嵌入式操作系統(tǒng)?常用嵌入式操作系統(tǒng)簡介WindowsEmbeddedVxWorksEmbeddedLinux各式各樣的OS桌面機(jī)Windows(9X,XPHome,XP/2000Pro)Mac服務(wù)器Windows(XP/2000Server&AdvancedServer)UnixVarieties嵌入式Many什么是嵌入式操作系統(tǒng)?嵌入式系統(tǒng)是使用特定嵌入式軟件完成特定功能的計(jì)算機(jī)系統(tǒng),嵌入式操作系統(tǒng)作為軟件的組成部分,為嵌入式軟件的開發(fā)和運(yùn)行提供良好的環(huán)境。嵌入式系統(tǒng)可以是基于ROM或者是磁盤的系統(tǒng),類似PC,但它并不能替代通用計(jì)算機(jī)系統(tǒng)。什么是嵌入式操作系統(tǒng)?模塊化可升級可配置小內(nèi)存損耗CPU支持設(shè)備驅(qū)動等等...什么構(gòu)成實(shí)時操作系統(tǒng)RTOS?多線程和搶占式調(diào)度由于非時限驅(qū)動OS的存在,具有線程優(yōu)先級必須支持可預(yù)測線程同步機(jī)制優(yōu)先級繼承系統(tǒng)常用嵌入式操作系統(tǒng)MicrosoftEmbeddedNT/XP“實(shí)時”控制WindowsCE(CE.NET)Internet設(shè)備PocketPC2002HandheldPC’sandPDA’sWindRiverSystemsVxWorkspSOS目錄什么是嵌入式操作系統(tǒng)?常用嵌入式操作系統(tǒng)簡介

WindowsEmbeddedVxWorksEmbeddedLinux微軟的移動平臺更強(qiáng)的功能筆記本PC復(fù)雜的文檔編輯和讀寫桌面鍵盤輸入鍵盤和鼠標(biāo)輸入法完整的.NETframework支持WindowsXP/XPE平板電腦復(fù)雜的文檔編輯和讀寫桌面鍵盤輸入支持?jǐn)?shù)字墨水可以支持鍵盤,也可以把鍵盤拿走鍵盤、鼠標(biāo)、數(shù)字墨水和語音輸入完整的.NETframework支持提供筆,數(shù)字墨水,手寫和語音識別APIWindowsCE小型個人產(chǎn)品單向網(wǎng)絡(luò)信息消費(fèi)WindowsMobileSmartphone信息消費(fèi)基本數(shù)據(jù)瀏覽把PDA融入電話可以與Exchange交互.NETCompactFrameworkASP.NET移動控件PocketPC信息消費(fèi)瀏覽和輸入數(shù)據(jù)把電話融入PDA可以與Office,Exchange和SQLServer交互.NETCompactFrameworkASP.NET移動控件WindowsEmbedded家族目錄什么是嵌入式操作系統(tǒng)?常用嵌入式操作系統(tǒng)簡介

WindowsEmbeddedVxWorksEmbeddedLinuxVxWoksVxWorks是風(fēng)河公司開發(fā)的一款商用硬實(shí)時操作系統(tǒng)主要思想:在嵌入式系統(tǒng)中最大限度地實(shí)現(xiàn)內(nèi)核的時間可預(yù)測性,根據(jù)用戶定義的任務(wù)優(yōu)先級對任務(wù)實(shí)現(xiàn)調(diào)度。給用戶最大的控制權(quán)VxWoks為追求系統(tǒng)的實(shí)時性而設(shè)計(jì)的,并不是以通用OS為設(shè)計(jì)目標(biāo)。去掉了一些OS模塊,因?yàn)檫@些模塊在某種程度上會影響系統(tǒng)的實(shí)時性(如在內(nèi)存管理中沒有采用頁面管理模式,采用的是平板式內(nèi)存。VxWoks任務(wù)調(diào)度采用的是基于優(yōu)先級的搶占式任務(wù)調(diào)度模式,優(yōu)先級分256級(0-255)用戶可以動態(tài)的改變優(yōu)先級,但是這種做法不提倡用戶可以鎖定一個任務(wù)使它不被更高的任務(wù)或中斷搶占允許使用固定優(yōu)先級響應(yīng)時間來檢查任務(wù)調(diào)度的性能VxWoks資源共享和優(yōu)先級繼承機(jī)制采用最優(yōu)化的上下文切換和中斷返回機(jī)制.內(nèi)核從不禁止非屏蔽中斷NMI(non-maskableinterrupts)VxWoks–缺點(diǎn)缺少某些OS特性保證時限要求是設(shè)計(jì)者自己的任務(wù)(系統(tǒng)的靈活性帶來的弊端)不支持很多應(yīng)用和APIs(只支持部分POSIX標(biāo)準(zhǔn)的函數(shù)集)盡管采用了平板式內(nèi)存管理,但是由于內(nèi)存的動態(tài)分配,仍然存在內(nèi)存段,這樣仍然存在時間上的不可預(yù)測性VxWoks–缺點(diǎn)應(yīng)用領(lǐng)域主要局限在對實(shí)時性要求較嚴(yán)格的硬實(shí)時系統(tǒng)中帶給用戶最大的控制權(quán)的同時,用戶對系統(tǒng)的實(shí)時性調(diào)度責(zé)任也更大Tornado——集成開發(fā)環(huán)境GDB——調(diào)試工具WindView——多任務(wù)跟蹤和觀察工具目錄什么是嵌入式操作系統(tǒng)?常用嵌入式操作系統(tǒng)簡介

WindowsEmbeddedVxWorksEmbeddedLinux主要內(nèi)容嵌入式Linux概覽使用嵌入式Linux的開發(fā)過程嵌入式Linux與WindowsCE將Linux嵌入到各種設(shè)備中:NASA個人助理開發(fā)過程Linux操作系統(tǒng)選擇操作系統(tǒng)的移植與改進(jìn)DriverandApplicationsoftwaredevelopment從系統(tǒng)設(shè)計(jì)測試

Rehat,bluecat,RTLinux,MontaVistaLinux,RTAI,……Tekram,HP,Intel,…嵌入式Windows與嵌入式LinuxJerryKrasner與RickRehrbraum

之爭版權(quán)費(fèi)開發(fā)環(huán)境功能上市時間開人員數(shù)非常便宜并非所有的嵌入式windows產(chǎn)品都便宜更好不同意更多不同意更短更少不確定不確定硬件支持差不多Linux更好

嵌入式Windows與嵌入式Linux目前嵌入式系統(tǒng)項(xiàng)目中使用的目標(biāo)操作系統(tǒng)以及二年后使用的操作系統(tǒng),2002,數(shù)據(jù)來自EDC兩者都呈強(qiáng)健的上升趨勢!續(xù)作業(yè)Vxworks操作系統(tǒng)有哪些優(yōu)缺點(diǎn)?什么是嵌入式embeddedLinux?給出幾個例子。與嵌入式Linux相比嵌入式Windows有何優(yōu)點(diǎn)?應(yīng)用WindowsCE與嵌入式Linux進(jìn)行嵌入式系統(tǒng)開發(fā),二者的開發(fā)流程有什么不一樣?嵌入式軟件開發(fā)導(dǎo)論3.

WindowsCE簡介目錄HelloWindowsCE!WindowsCE特性與桌面版OS比較與其他嵌入式OS比較演示:

HelloWindowsCE!WinCE能做什么:手機(jī)WinCE能做什么:PDA便攜式多媒體設(shè)備WinCE能做什么:游戲機(jī)LinuxWindowsWinCE能作什么:汽車電子BMWCitro?nClarionCo.Ltd.DaimlerChryslerFiatSubaruHondaHyundaiMitsubishiToyota…WinCE能做什么:其它網(wǎng)關(guān)工業(yè)控制機(jī)頂盒醫(yī)療設(shè)備銀行ATM系統(tǒng)放映機(jī)和大屏幕顯示器VoIP設(shè)備…WindowsCE發(fā)展歷史1996年發(fā)布WindowsCE1.0WindowsCE.NET4.x被廣泛應(yīng)用最新版WindowsCE5.0WindowsCE特點(diǎn)與桌面版本比較:

硬件平臺桌面版WindowsOnlyruns

onx86architectureWindowsCEARM/XscaleMIPSPowerPCSHx86WindowsCE特性WindowsCE能運(yùn)行在不同的硬件平臺之上:是如何實(shí)現(xiàn)的?NewPlatformWizard答案是BSP!BSP介紹BSP(BoardSupportPackage,板級支持包)是用來支持OEM適配層(OEMadaptationlayer,OAL)和軟件開發(fā)板(softwaredevelopmentboard,SDB)的設(shè)備驅(qū)動的這部分軟件。HardwareOperatingSystemBoardSupportPackage與桌面版本比較:

鏡像大小桌面WindowsWindows3.x:2-5MBWindows98:400MBWindowsXP:1.5GB越來越大…不能定制WindowsCE最小:200KB網(wǎng)絡(luò)部分大約800KBGWES,ShellandApps大約4MB

InternetExplorer大約3MBWindowsCE特性組件化200多個可選組件快速方便地針對特定應(yīng)用系統(tǒng)定制OS與桌面版比較:

實(shí)時性桌面Windows不具有實(shí)時性WindowsCE線程優(yōu)先級256級中斷嵌套每個線程都有獨(dú)立的時鐘嘀嗒處理優(yōu)先級反轉(zhuǎn)WindowsCE特性:WindowsCE支持實(shí)時性實(shí)時性對于時限要求嚴(yán)格的系統(tǒng)非常關(guān)鍵與桌面版比較:

電源管理桌面Windows電源管理實(shí)現(xiàn)差WindowsCE電池供電/AC供電各設(shè)備的電源使用狀況關(guān)閉不必要的設(shè)備WindowsCE特性:WindowsCE提供電源管理器,用來管理設(shè)備供電系統(tǒng),增加電能的使用效率WindowsCE能夠減少設(shè)備的能量損耗,在系統(tǒng)復(fù)位、開啟、休眠和掛起狀態(tài),維持和保護(hù)RAM上的文件系統(tǒng)與桌面版比較:

編程接口桌面WindowsASCII/UNICODE豐富的API強(qiáng)有力的硬件平臺WindowsCE只支持UNICODE部分Win32API,MFC等有限的硬件資源WindowsCE特性:WindowsCE只支持UNICODECHAR->TCHAR/WCHARstrlen->wcslen部分API功能受限運(yùn)行WindowsCE的系統(tǒng)通常資源受限與桌面版比較:

微內(nèi)核桌面WindowsNT系列力求微內(nèi)核9xseries不是微內(nèi)核WindowsCE微內(nèi)核文件系統(tǒng)和設(shè)備驅(qū)動運(yùn)行在用戶模式內(nèi)核負(fù)責(zé)傳遞消息WindowsCE特性:微內(nèi)核增強(qiáng)的可靠性增強(qiáng)的可擴(kuò)展性與桌面版比較:

共享源代碼桌面Windows商業(yè)軟件,源代碼是微軟的一級機(jī)密WindowsCEWindowsCE公開了70%的源代碼用戶可以對它進(jìn)行修改WindowsCE特性:源代碼共享用戶可以在“%_WINCEROOT%\private”文件夾中找到公開的源代碼與其它嵌入式OS比較:

多媒體支持其它嵌入式OS:對音視頻支持有限沒有商業(yè)的網(wǎng)站瀏覽器WindowsCE友好的用戶界面WindowsMediaPlayer9,支持mp3,wav,avi,wmv…InternetExplorer6&PocketIEWindowsCE特性:友好的用戶界面強(qiáng)大的多媒體支持與桌面版windows相兼容PocketWord,Excel,PowerPoint,adobereaderPocketMSNmessengerPocketIE,WindowsMediaPlayerSQLServerCEeditionACDSee……與其它的嵌入式OS比較:

編程接口OtherEOS:不同的編程接口常用的C/C++&j2meWindowsCEWin32APIMFC,ATL,STL…COM,ActiveX.NETCompactFrameworkJavaVMEVB,EVC…WindowsCE特性:對于Windows程序員來說容易上手支持多種編程語言與其它的嵌入式OS比較:

鏡像大小和實(shí)時性其它嵌入式OS:RTLinux,μC/OS-II支持硬實(shí)時Vxworks最小:8kμC/OS-II最小:2kWindowsCE非硬實(shí)時系統(tǒng)對于一些特殊的應(yīng)用鏡像可能過大WindowsCE優(yōu)點(diǎn):豐富的可選組件和功能定制方便易使用與桌面版windows編程接口類似具有豐富的微軟及第三方應(yīng)用支持WindowsCE缺點(diǎn):對于一些特殊的應(yīng)用,鏡像可能過大實(shí)時性?非免費(fèi):3$perruntimelicense995$forPlatformBuilder性能和安全性?作業(yè)用PlatformBuilder創(chuàng)建一個自己的WindowsCE平臺,并運(yùn)行它。熟悉WindowsCEGUI,文件系統(tǒng),控制面板…用PlatformBuilder完成一個tic-tac-toe程序,在你自己的WindowsCE平臺上運(yùn)行它。嵌入式軟件開發(fā)導(dǎo)論4.應(yīng)用程序開發(fā)目錄工具和技術(shù)常規(guī)的應(yīng)用開發(fā)步驟WindowsCE編程特點(diǎn)WindowsMobile開發(fā)PocketPCSmartphone模擬器概述目錄工具和技術(shù)常規(guī)的應(yīng)用開發(fā)步驟WindowsCE編程特點(diǎn)WindowsMobile開發(fā)PocketPCSmartphone模擬器概述什么是應(yīng)用程序開發(fā)在特定的WindowsCE平臺下使用該平臺的編程接口實(shí)現(xiàn)各種功能平臺的價值依賴于運(yùn)行在其上的應(yīng)用程序WindowsCE應(yīng)用程序開發(fā)工具PlatformBuilderEmbeddedVisualC++VisualStudio.NETEmbeddedVisualTools3.0(不提倡,被廢棄)PlatformBuilderPlatformBuilder支持WinCEApp/DLL/Lib,使用Win32API開發(fā)應(yīng)用程序?qū)⒈绘溄拥絆S內(nèi)核中一旦修改代碼,必須再重新編譯鏡像容易調(diào)試OS內(nèi)核,不容易調(diào)試應(yīng)用程序首先必須創(chuàng)建一個debug版的OSDebugZoneEmbeddedVisualC++EmbeddedVisualC++支持WinCEApp/DLL/COM/LibusingWin32API,MFC,ATLandSTL與VisualC++6.0具有相似的工程管理模式和用戶界面易于調(diào)試和測試必須安裝相應(yīng)的為特定平臺開發(fā)的SDK,從而開發(fā)相應(yīng)的應(yīng)用程序VisualStudio.NETVisualStudio.NET2003開發(fā)WindowsCEApp/Assemblyusing.NETcompactframework可使用C#,VB.NET,J#...VS.NET具有完整的開發(fā)環(huán)境目標(biāo)平臺上需要安裝.NETcompactframework易于調(diào)試和測試EmbeddedVisualTools3.0包括EmbeddedVisualBasic3.0andEmbeddedVisualC++3.0用戶界面類似VisualStudio6.0開發(fā)的程序只能用于WindowsCEVersion3.0NativeApplicationModelManagedApplicationModelVisualStudio.NET2003C#orVB.NET.NETCompactFrameworkRuntimeCorC++Win32ApplicationsCompiledPlatformBuilderWindowsCEOperatingSystemCorC++Win32ApplicationseMbeddedVisualTools應(yīng)用程序開發(fā)選擇應(yīng)用程序開發(fā)選擇(將來)VisualStudio2005C#orVB.NET.NETCompactFramework2.xCorC++Win32ApplicationsWindowsCEOperatingSystemCorC++Win32ApplicationsPlatformBuilder相關(guān)技術(shù)

你有哪些選擇?Win32MicrosoftFoundationClass(MFC).NETCompactFramework相關(guān)技術(shù)

對大小的影響RuntimeSize(Byte)SizeIncrementWin329,805,2310MFC10,234,415429,184.NETcompactframework11,201,4591,396,228*該測試是基于InternetAppliance“平臺相關(guān)技術(shù)

開發(fā)和執(zhí)行時間Developtimeperformanceruntimeperformance.NETCompactframeworkMFCWin32API相關(guān)技術(shù)

結(jié)論確定使用何種模式取決于你是否使用了Win32/MFC/C#/VB來開發(fā)程序,以及系統(tǒng)對操作系統(tǒng)鏡像大小的要求,同時還要考慮其他因素,如應(yīng)用程序開發(fā)速度以及系統(tǒng)的可靠性和兼容性等。

你可以根據(jù)項(xiàng)目的工作層來整合和匹配代碼,如工作在:驅(qū)動中的Win32,Win32,MFC或者終端用戶程序的C#/VB,開發(fā)人員可以充分利用他們在桌面windows下的開發(fā)經(jīng)驗(yàn)來快速開發(fā)WindowsCE產(chǎn)品。目錄工具和技術(shù)常規(guī)的應(yīng)用開發(fā)步驟WindowsCE編程特點(diǎn)Windows移動開發(fā)PocketPCSmartphone模擬器概述常規(guī)的應(yīng)用開發(fā)步驟:獲得特定WindowsCE平臺的SDK.在WindowsCE模擬器上編輯和調(diào)試代碼.在實(shí)際目標(biāo)平臺上,編譯、運(yùn)行程序,如果需要在設(shè)備上調(diào)試程序,可以通過

ActiveSync.第一步:獲得SDKSDK是用于在EVC和VisualStudio下開發(fā)應(yīng)用程序的獲得SDK的兩種方法微軟或第三方提供為自己的平臺導(dǎo)出SDKMicrosoft提供:StandardSDK(CommonSDKdev)WindowsMobileSDK(PocketPC…)PB下的SDK向?qū)且粋€工具,用來產(chǎn)生和導(dǎo)出特定平臺的SDK(softwaredevelopmentkit)。被導(dǎo)出的SDK由頭文件、庫文件、運(yùn)行文件、平臺的外延和幫助文件等組成。應(yīng)用程序開發(fā)人員可以利用這個SDK去關(guān)聯(lián)MicrosoftembeddedVisualC++4.0或MicrosoftVisualStudio.NET,為特定平臺開發(fā)應(yīng)用。Platform->ConfigureSDKPlatform->BuildSDKPB、SDK和開發(fā)工具間的關(guān)系圖演示:

在PB下導(dǎo)出SDK,

為EVC使用提示:只在StandardSDK不能滿足需求時才使用自己的導(dǎo)出SDK用Platform->Configure

SDK

來配置SDK從控制面板中卸載SDK第二步:在模擬器下編程和調(diào)試與VisualC++6.0andVisualC++.NET類似取決于你的WindowsProgramming知識平臺管理器(PlatformManager)它是一種通訊機(jī)制,用來管理宿主機(jī)和目標(biāo)機(jī)之間的通訊。平臺管理器允許宿主機(jī)上的開發(fā)工具以介質(zhì)無關(guān)的方式下載和連接目標(biāo)機(jī),PB,EVC4.0,和Microsoft.NETCompactFramework使用平臺管理器下載諸如應(yīng)用、MSActiveX控件、實(shí)時運(yùn)行庫和遠(yuǎn)程客戶端工具等到目標(biāo)機(jī)上。WorkstationCEDeviceTCP/IPKITLActiveSyncPlatformManager遠(yuǎn)程工具你可以在宿主機(jī)上遠(yuǎn)程執(zhí)行位于目標(biāo)機(jī)上的各種程序不同的平臺支持不同的遠(yuǎn)程工具位于PB和EVC的Tools

菜單下開發(fā)者可以使用相應(yīng)的接口和APIs產(chǎn)生新的遠(yuǎn)程工具工具名稱描述RemoteCallProfilerProvidesprofilingandanalysistoolswithinagraphicaluserinterface(GUI)thatenableyoutoidentifyalgorithmicbottlenecksinyourapplications.RemoteFileViewerDisplaysahierarchicalviewofthefilesystemonatargetdevice.RemoteHeapWalkerDisplaysinformationaboutheapidentifiersandflagsforprocessesthatarerunningonatargetdevice.RemoteKernelTrackerDisplaysarepresentationoftheexecutionoftheoperatingsystem(OS)onatargetdevice.RemotePerformanceMonitorMeasurestheperformanceofatargetdevice.RemoteProcessViewerDisplaysalistofprocessesandthreadsrunningonatargetdevice.RemoteRegistryEditorDisplaystheregistryforatargetdeviceandenablesyoutomanagetheregistry.RemoteSpyDisplaysalistofwindowsopenedonatargetdeviceandmessagesgeneratedbythosewindows.RemoteSystemInformationDisplayssystemsettingsandpropertiesforatargetdevice.RemoteZoom-inDisplaysanimagefromthescreenofatargetdevice.演示:

EVC下的HelloWorld

和遠(yuǎn)程工具第三步:在目標(biāo)機(jī)上的運(yùn)行和調(diào)試根據(jù)目標(biāo)機(jī)使用的CPU編譯程序下載這個可執(zhí)行文件到目標(biāo)機(jī)上,然后運(yùn)行該可知行文件

如果需要,使用ActiveSync一步一步調(diào)試程序介紹ActiveSyncActiveSync提供了一種支持,用來同步基于桌面Windows系統(tǒng)和基于CE.NET的便攜式系統(tǒng)間的數(shù)據(jù),它使用時間標(biāo)記(stamps)和用戶參數(shù)來跟蹤兩個系統(tǒng)間的數(shù)據(jù)改變,并傳送相應(yīng)的數(shù)據(jù)使得每個系統(tǒng)上的數(shù)據(jù)都是最新的,過時的或者冗余的數(shù)據(jù)會被刪除。ActiveSync支持USB,紅外,調(diào)制解調(diào)器,以及Ethernet等多種連接。ActiveSync不支持CE設(shè)備間的數(shù)據(jù)同步,也不支持CE設(shè)備和服務(wù)器間的數(shù)據(jù)同步。ActiveSync工作模式使用ActiveSync調(diào)試安裝ActiveSync(從Microsoft網(wǎng)站獲得)宿主機(jī)和目標(biāo)機(jī)間提供至少以下一種連接SerialUSBInfraredModemEthernet在EVC下選擇“WindowsCEDevice”inEVC,調(diào)試運(yùn)行在目標(biāo)機(jī)上的程序目錄工具和技術(shù)常規(guī)的應(yīng)用開發(fā)步驟WindowsCE編程特點(diǎn)Windows移動開發(fā)PocketPCSmartphone模擬器概述GDI編程不能使用TextOutAPI注意CreateFontAPI注意WindowsCE調(diào)色板輸入:Stick不能使用WM_MOUSEMOVE消息,使用GetMouseMovePointsAPI。WindowsCE數(shù)據(jù)庫WinCEOS提供的APIs,用來支持簡單的數(shù)據(jù)庫應(yīng)用不能被其他版本的Windows使用APIs:CeCreateDatabaseCeDeleteRecord…串行通訊//TraditionalWin32way.hSer=CreateFile(TEXT(“COM1:”),GENERIC_READ,0,NULL,OPEN_EXSITING,0,NULL);rc=ReadFile(hSer,&ch,1,&cBytes,NULL);TransmitCommChar(hSer,‘a(chǎn)’);CloseHandle(hSer);問題:我們能用什么,除了“COM1”以外RAPIRAPI是一個接口,它可以使運(yùn)行于桌面系統(tǒng)的應(yīng)用調(diào)用目標(biāo)機(jī)上的函數(shù)。桌面系統(tǒng)被叫作RAPI客戶端,目標(biāo)機(jī)被叫作RAPI服務(wù)器端。

RAPI遠(yuǎn)行在WinsockandTCP/IP之上,API通常以Cexxxx開頭。RAPI結(jié)構(gòu)WinCERunRAPIApplicationRAPIServer目錄工具和技術(shù)常規(guī)的應(yīng)用開發(fā)步驟WindowsCE編程特點(diǎn)WindowsMobile開發(fā)PocketPCSmartphone模擬器概述介紹Windows

MobileWindows

Mobile是微軟為PocketPCs和Smartphones開發(fā)的軟件平臺

Windows移動延伸到微軟的桌面系統(tǒng)和個人設(shè)備Windows移動家族PocketPCSmartphoneWindows汽車電子SmartphonePocketPC為什么要開發(fā)Windows移動移動設(shè)備的市場越來越大截止2008,將會有超過10億集成設(shè)備和2億的移動手機(jī)用戶(IDC,2004).PocketPC已經(jīng)是PDA市場的龍頭,超過PalmSmartphone的快速發(fā)展WindowsMobile的特點(diǎn)Microsoft提供了平臺和SDKOEMs提供硬件開發(fā)人員不能修改Platform特性Windows移動開發(fā)

第一步:下載和安裝SDKsURL:/mobility/downloads/sdks/default.aspxSDK能被用在EVC和VisualStudio.NET2003上Windows移動開發(fā)

第二步:開發(fā)、調(diào)試,運(yùn)行參考前面的部分你需要知道什么1.只能使用Unicode字符集a.ANSI是一個字節(jié),UNICODE是兩個字節(jié)b.聲明:CHAR->WCHAR

orTCHARc.字符串函數(shù):strlen()->wcslen()strcmp()->wcscmp()你需要知道什么(2)2.注意內(nèi)存的使用減少靜態(tài)和全局變量的使用注意函數(shù)的遞歸注意圖片、視頻文件的大小檢查動態(tài)內(nèi)存的分配情況你需要知道什么(3)3.檢查屏幕分辨率620×240、240×320….屏幕分辨率例子我們在哪?Getplatform&SDKfromOEMsCoding&TestingReleasetoManufactureExportyourSDK目錄工具和技術(shù)常規(guī)的應(yīng)用開發(fā)步驟WindowsCE編程特點(diǎn)Windows移動開發(fā)PocketPCSmartphone模擬器概述概述仿真器是一個用來模擬支持WindowsCE平臺的硬件行為的工具。

使用仿真器,你不需要硬件就可以設(shè)計(jì)、建立和測試一個CE平臺,它是用軟件的形式來實(shí)現(xiàn)對硬件平臺的模擬。用軟件模擬硬件。相關(guān)軟件MicrosoftVirtualPCVMWare共享代碼的Bochs使用場景平臺開發(fā)DMA的支持支持KITL,可以調(diào)試OS應(yīng)用開發(fā)用你的SDK發(fā)布它在真實(shí)的環(huán)境上運(yùn)行前,測試你的應(yīng)用在模擬器上映射一個目錄使用模擬器,你可以將一個宿主機(jī)上的目錄映射到仿真器上,就好像這個目錄是安裝在模擬器上的一個驅(qū)動設(shè)備。在模擬器的文件里,這個映射到模擬器上的目錄現(xiàn)在處于根目錄下,名字是StorageCard,模擬器一次只能映射一個目錄。在模擬器上映射一個目錄映射一個目錄到模擬器上在模擬器上,運(yùn)行一個WindowsCE系統(tǒng),它可以支持宿主機(jī)目錄映射到模擬器上在模擬器窗口里,從模擬器菜單中選擇文件夾共享

選擇共享文件夾選擇一個目錄共享,然后點(diǎn)OK刪除映射目錄在模擬器窗口里,從模擬器菜單中選擇文件夾共享

在共享文件夾中選擇目錄的路徑

選擇不共享模擬器的限制—

通訊和網(wǎng)絡(luò)模擬器要運(yùn)行在NAT連接上撥號連接不支持模擬器不能建立RemoteDesktopProtocol(RDP)不支持:IrDABluetooth802.11模擬器的限制—

硬件限制Universalserialbus(USB)設(shè)備PCCard設(shè)備存儲設(shè)備,包括CF卡和硬盤文件系統(tǒng)驅(qū)動,包括fileallocationtable(FAT),compactdisc(CD),anddigitalvideodisc(DVD)driversIEEE1394devices仿真器的限制—

多媒體限制不支持對多媒體的硬件加速DirectXWindowsMediaDVD-VideoAPIDigitalrightsmanagement(DRM)VoiceoverIP(VoIP)Multiple-screensupport下一節(jié),我們將在真正的硬件系統(tǒng)上學(xué)習(xí)作業(yè)在PB上導(dǎo)出你自己CE的SDK在EVC下重寫tictactoe程序,用你自己的SDK,如果可能使用MFC,要包括以下特性:用戶可以選擇外形尺寸存游戲結(jié)果到WinCE數(shù)據(jù)庫(如23贏10輸)移植這個游戲到pocketPC和smartphone(沒鼠標(biāo)……)嵌入式軟件開發(fā)導(dǎo)論5.操作系統(tǒng)開發(fā)目錄介紹PlatformBuilder用戶界面UI目錄(Catalog)and特性(Feature)配置平臺平臺創(chuàng)建流程Build系統(tǒng)定制目錄Catalog目錄介紹PlatformBuilder用戶界面UI目錄(Catalog)and特性(Feature)配置平臺平臺創(chuàng)建流程Build系統(tǒng)定制目錄Catalog介紹PlatformBuilder一個定制基于WindowsCE的平臺定制集成開發(fā)環(huán)境(IDE)提供所有與基于WindowsCE平臺設(shè)計(jì)、創(chuàng)建、編譯、測試和調(diào)試相關(guān)的開發(fā)工具該集成開發(fā)環(huán)境提供統(tǒng)一的與平臺和項(xiàng)目相關(guān)的工作空間

PB能做什么?(1)平臺向?qū)椭銊?chuàng)建一個新的平臺(platform)BSP向?qū)椭銊?chuàng)建新的板級支持包(BSP)目錄(Catalog)顯示用戶定制的平臺OS屬性列表依賴性自動監(jiān)測(Automateddependencychecking)可以確保與平臺相關(guān)的所有屬性都會被包含在OS鏡像中

導(dǎo)出向?qū)Э梢詫?dǎo)出目錄中的屬性給其它PB使用者

基本配置(Baseconfigurations)是創(chuàng)建用戶特定定制OS的起點(diǎn)PB能做什么?(2)WindowsCE測試套件(TestKit)提供了整套驅(qū)動測試工具

內(nèi)核調(diào)試器可以調(diào)試定制的OS鏡像,同時提供給用戶鏡像運(yùn)行狀況的信息

應(yīng)用調(diào)試器可以調(diào)試在特定OS上運(yùn)行的應(yīng)用程序

遠(yuǎn)程工具可以調(diào)試基于WindowsCE的目標(biāo)機(jī)上運(yùn)行任務(wù),并獲取相關(guān)信息

模擬器通過模擬硬件可以加快和簡化開發(fā)過程,使用戶可以在宿主機(jī)上完成平臺和應(yīng)用程序的初步開發(fā)

SDK導(dǎo)出向?qū)Э梢詾橛脩魧?dǎo)出一個特定的軟件支持包(softwaredevelopmentkit—SDK).平臺向?qū)?PlatformWizard)平臺向?qū)椭阋徊讲降膭?chuàng)建一個基于WindowsCE的平臺使用平臺向?qū)У?步選擇一個安裝的BSP為你的設(shè)備選擇一個基本平臺配置

為你的設(shè)備選擇配置變量

為你的平臺選擇其它的屬性PlatformBuilder用戶界面TextEditorWorkspaceWindowSearchTextConnectivityDeviceNameOutputWindowsDebugtoolstatusindicatorsMultipleviewsoftheworkspaceBuildConfiguration目錄(Catalog)包含BSPs,驅(qū)動,OS內(nèi)核配置和平臺管理器等,在目錄中出現(xiàn)的所有項(xiàng)目包含了你所設(shè)計(jì)的CE平臺所使用到的屬性BSP:BoardSupportPackagesCoreOS:includesheadlessdevicesanddisplay-baseddevices:ApplicationsandServicesDevelopmentApplications-EndUserCommunicationServicesandNetworkingCoreOSServicesFileSystemsandDataStoreFontsInternationalInternetClientServicesMultimediaTechnologiesSecurityShellandUserInterfaceDeviceDriversPlatformManager目錄(Catalog)項(xiàng)屬性組(FeatureGroup)和屬性(Feature)屬性組定義了通用的屬性而沒有定義具體的實(shí)現(xiàn)。屬性組在你選擇一個實(shí)現(xiàn)的時候才被解析,這個實(shí)現(xiàn)決定了它的具體功能。一個屬性是OS組件的任何一個邏輯群Feature圖標(biāo)圖標(biāo)描述BSPCoreOSdesignCatalogitemgroup.RequiredCatalogitem.OptionalCatalogitem.Catalogitem,type,orimplementationexcludedfromthecurrentOSdesign.FolderCatalogitemthathasoneormorespecialnotifications.CatalogpropertiesforaspecificimplementationofaCatalogitem.Implementation

Feature圖標(biāo)(2)圖標(biāo)描述User-specifiedCatalogitem.Catalogitem(optional).Catalogitemthatcanbebuiltbutisexcludedfromtherun-timeimage.Catalogitemexcludedfromthebuildandtherun-timeimage.Sourcecodefile.Feature選項(xiàng)顯示備選feature信息.Feature依賴關(guān)系顯示備選feature的依賴關(guān)系挑戰(zhàn)了解盡可能多的features挑戰(zhàn)豐富的經(jīng)驗(yàn)和知識沒有這些不能設(shè)計(jì)合理的平臺WindowsCE上可以使用簡體中文?WindowsCE支不支持VBScript?關(guān)于屬性的功能可參照:有關(guān)WindowsCE.NET->CatalogFeaturesPlatformSetting使你可以瀏覽和修改關(guān)于整個平臺的每個屬性的選項(xiàng)菜單:Platform->Settings…BuildOptions(1)EnableCETargetControlSupport選擇該選項(xiàng)可以在啟動時使能目標(biāo)控制功能(targetcontrolsupport).選擇這一項(xiàng)同時也打開了內(nèi)核無關(guān)傳輸層(KernelIndependentTransportLayer—KITL).EnableEbootSpaceinMemory

選擇該選項(xiàng)可以在Config.bib文件中預(yù)留內(nèi)存空間,允許在啟動過程中操作系統(tǒng)可以讀取bootloader存儲的數(shù)據(jù).EnableEventTrackingduringBoot選擇該選項(xiàng)可以開啟事件跟蹤子系統(tǒng)(event-trackingsubsystem).EnableFullKernelMode

選擇該選項(xiàng)可使線程運(yùn)行在內(nèi)核模式,選擇該模式會使系統(tǒng)較脆弱,但是性能會有所提高.EnableImageforFlash選擇該選項(xiàng)可以使編譯好的鏡像下載后被燒寫的到Flash中BuildOptions(2)EnableKernelDebugger

允許調(diào)試器建立宿主機(jī)和目標(biāo)機(jī)間的鏈接和傳送調(diào)試信息EnableKITL

要建立宿主機(jī)和目標(biāo)機(jī)間的通訊就必須選擇該選項(xiàng),取消該項(xiàng)也會同時取消被選定的“EnableCETargetControlSupport”選項(xiàng)EnableProfiling選擇該選項(xiàng)可以將WindowsCE的有關(guān)內(nèi)核的信息以日志的形式裝入平臺鏡像中EnableShipBuild這是一個有條件編譯的標(biāo)志,設(shè)置它表示OS會提供詳細(xì)的調(diào)試信息來幫助調(diào)試.FlushEventstoReleaseDirectory選擇該選項(xiàng)將事件放入release目錄,同時開啟事件跟蹤平臺配置文件PlatformBuilder使用兩類配置文件:

原碼配置文件Build工具使用原碼配置文件去build模塊、屬性,同時為你的OS鏡像build原碼

鏡像配置文件MakeBinaryImage工具調(diào)用相應(yīng)的工具,這些工具使用鏡像配置文件來產(chǎn)生OS鏡像原碼配置文件文件類型描述DirsFile描述包含源代碼的子目錄SourcesFile包含要編譯的代碼及宏MakefileFileMakefile鏡像配置文件參數(shù)視圖配置文件:.BIB文件表明應(yīng)該被包含在鏡像中的模塊和組件包含4個部分的文本文件:文件部分:為靜態(tài)數(shù)據(jù)文件預(yù)留的內(nèi)存模塊部分:指定被裝載到內(nèi)存中的目標(biāo)模塊;Name Path MemoryTypeTahoma.ttf $(_FLATRELEASEDIR)\Tahoma.ttfNK SHUTaskman.exe $(_FLATRELEASEDIR)\Taskman.exeNK

配置文件:.BIB文件內(nèi)存部分

定義平臺的內(nèi)存信息劃分物理內(nèi)存的數(shù)據(jù)存儲和程序存儲部分配置部分不是必須的用來設(shè)置屬性等Name Startaddress Size(bytes) Type

NK 8C800000 00800000 RAMIMAGE

RAM 8C050000 007AFFFF RAM配置文件:.REG文件定義默認(rèn)的注冊設(shè)置COMMON.REG,IE.REG,WCEAPPS.REG,WCESHELL.REG:為WindowsCE模塊定義注冊設(shè)置PLATFORM.REG:與平臺相關(guān)的注冊設(shè)置,如驅(qū)動入口等PROJECT.REG:定義與你的工程相關(guān)的注冊設(shè)置[HKEY_LOCAL_MACHINE\init]“Launch10”=“shell.exe”“Launch20”=“device.exe”配置文件:.DAT文件定義鏡像的文件夾結(jié)構(gòu)COMMON.DAT,IE.DAT,WCEAPPS.DAT,WCESHELL.DATPLATFORM.DATPROJECT.DAT例子:Root:-Directory(“ProgramFiles”)Directory(“\ProgramFiles”):-Directory(“MyProjects”)Root:-Directory(“MyDocuments”)Directory(“\MyDocuments”):-File(“MyFile.doc”,“\Windows\Myfile.doc”)配置文件:.DB文件定義默認(rèn)的鏡像數(shù)據(jù)庫COMMON.DB,WCEAPPS.DB,WCESHELL.DB這些.DB文件是與Common,Wceapps,andWceshell模塊相關(guān)的數(shù)據(jù)庫PLATFORM.DB該文件包含特定平臺的默認(rèn)數(shù)據(jù)庫

PROJECT.DB該文件特定工程的默認(rèn)數(shù)據(jù)庫產(chǎn)生鏡像整合release文件夾中的文件來生成WindowsCE鏡像過程整合配置文件:

所有的.bib文件到CE.BIB

所有的.reg文件到REGINIT.INI

所有的.dat文件到INITOBJ.DAT

所有的.db文件到INITDB.INI壓縮reginit.ini到二進(jìn)制注冊文件(DEFAULT.FDF)由于語言的適配,替換.exeand.dll中的資源forlanguageadaptation生成WindowsCE鏡像(NK.BIN)Build的幾個階段Sysgen階段FeatureBuild階段ReleaseCopy階段MakeImage階段當(dāng)你在IDE的Biuld菜單下選擇

BuildPlatform

命令時,系統(tǒng)創(chuàng)建平臺依次經(jīng)歷了以下4個過程:Sysgen階段任務(wù)鏈接相應(yīng)的靜態(tài)庫到模塊MakeSDK過濾系統(tǒng)頭文件,產(chǎn)生只包含為聲明被平臺導(dǎo)出的函數(shù)的頭文件.為系統(tǒng)模塊產(chǎn)生輸入庫構(gòu)建板級支持包(BSP)SystemGenerationCompleteheaderandsourcecodefilesCompletesystemlibrariesModuledefinitions(.def)Cesysgen.batSystem-specificheaderfilesLinkedlibrariesSpecific.deffilesSYSGEN.BATFeatureBuild階段任務(wù)所有的用戶屬性,包括PB工程文件(.pbp),dirs文件,源文件,makefiles(.mak)被編譯和創(chuàng)建ReleaseCopy階段任務(wù)拷貝所有用戶生成OS鏡像所需的文件到release目錄下,在Sysgen階段生成的模塊和文件首先被拷貝,接著是FeatureBuild階段生成的模塊和文件.MakeImage階段任務(wù)Rrelease目錄中的文件被整合的二進(jìn)制鏡像文件Nk.bin中.這一階段對應(yīng)Build菜單下的

MakeImage

命令

Build過程COMMONDATASYNCDCOMDIRECTXIERDPSCRIPTSERVERSWCEAPPSFEWCESHELLFE…..\cesysgen\ddk..\cesysgen\oak..\cesysgen\sdk\target,\filesStep1.SystemGenerationStep2.BuildStep3.BuildingtheReleaseDirectoryStep4.MakinganImageNK.BIN..\platform\..\target,\files%_FLATRELEASEDIR%Build結(jié)果nk.bin:WindowsCE二進(jìn)制鏡像數(shù)據(jù)格式運(yùn)行時必須首先裝載到內(nèi)存中.由數(shù)據(jù)段和代碼段組成nk.nb0:二進(jìn)制數(shù)據(jù)文件格式能夠被轉(zhuǎn)載到Flash中可以以XIP模式運(yùn)行XIP介紹ExecuteInPlace的簡稱程序的執(zhí)行可以直接在ROM中,而不是必須得先裝載到RAM中

被NORflash類型的閃存支持如何解決Build中的錯誤查看Output

窗口NoenoughharddiskspaceCompile&linkerror檢查WINCE420根目錄下的Build.log&Build.err

文件詳細(xì)的輸出信息Windows編程經(jīng)驗(yàn)和知識是你解決問題的關(guān)鍵解釋BuildErrorsSysgen階段的錯誤Causedbymissingfiles,missingconfigurationoftheoperatingsystemfeatures,andapplicationsbuiltduringtheSysgenphaseModulebuild階段的錯誤CompilationerrorsorunresolvedlinkerrorsBuildingthereleasedirectory階段的錯誤FilecopyerrorsMakinganimage階段的錯誤Romimage.exefailedinCE.BIBRomimage.exefailedinreginit.iniWarning:Imageexceeds作業(yè)閱讀在線文檔“CEPCHow-toTopics”和“Tutorial:UsingPlatformBuilderwithaCEPC”,x86硬件平臺上下載、運(yùn)行自己的一個WindowsCE提示:制作wince的啟動盤和配置IP地址用cepcBSP創(chuàng)建你的WinCE用你的啟動盤啟動系統(tǒng)通過TCP/IP鏈接、下載目錄介紹PlatformBuilder用戶界面UI目錄(Catalog)and特性(Feature)配置平臺平臺創(chuàng)建流程Build系統(tǒng)定制目錄Catalog應(yīng)用程序開發(fā)回顧Getplatform&SDKfromOEMsCoding&TestingReleasetoManufactureExportyourSDK平臺創(chuàng)建流程得到特定軟件開發(fā)板(specifiedSoftwareDevelopmentBoard—SDB)的BSP用PlatformBuilder定制平臺通過SDB下載、調(diào)試和運(yùn)行平臺為你的平臺構(gòu)建發(fā)布版系統(tǒng)第一步:獲得BSPMicrosoftCEPC第三方OEMsMotorolaDragonballAdvantech7230…生成自己的BSP后面討論…從哪獲得BSP?安裝和使用BSP如果BSP是以MSI文件提供,象其它的軟件那樣安裝它如果BSP是以源文件的形式提供,在PB中添加相應(yīng)的.CEC文件注意:你必須首先在PB中安裝了相應(yīng)CPU的支持演示:

安裝和使用MotorolaDragonBallMXLBSP第二步:定制平臺在Microsoft提供的模板中選擇一個,在它的基礎(chǔ)上進(jìn)行修改從頭定制HLBaseandIABaseHL意思headless,表示該OS沒有圖形用戶界面GUI如果選擇IABase,OS包含GUI第三步:通過SDB下載、調(diào)試和運(yùn)行平臺獲得EbootorSboot配置網(wǎng)絡(luò)配置串行調(diào)試接口(可選)配置PlatformBuilder鏈接下載OS鏡像到板子常規(guī)步驟:獲得EbootorSbootBootloader通常做為BSP的一部分由OEMs提供.bootloader的目的是裝載OS鏡像到內(nèi)存中,然后跳到OS啟動程序Eboot:EthernetBootloaderSboot:SerialBootloader通常在release版中被除去各種BootloaderFlashintoflashRomUsebootfloppydiskUseCFcard…唯一的目的:下載OS鏡像為串口配置網(wǎng)絡(luò)只插串口鏈接線缺點(diǎn):太慢為以太網(wǎng)配置網(wǎng)絡(luò)用Hub為以太網(wǎng)配置網(wǎng)絡(luò)使用獨(dú)立的網(wǎng)絡(luò)鏈接配置串行調(diào)試接口插RS232串口適配器到ADS板和你主機(jī)上默認(rèn)的COM口.選擇StartMenu→Programs→Accessories→Hyperterminal→Hyperterminal去激活一個Hyperterm窗口超級終端配置PB鏈接從Target->ConfigureRemoteConnection配置PB鏈接Eboot會向LAN發(fā)送廣播包,PB接收和顯示設(shè)備ID下載OS鏡像到板子在PB中點(diǎn)擊Target→Download/Initialize.在設(shè)備的屏幕上你會看到我們到哪了?Gethardware&BSPfromOEMsNeedplatformcustomization?Getplatform&SDKfromOEMsCustomizeyourWinCEplatformExportyourSDKCoding&TestingReleasetoManufacture目錄介紹PlatformBuilder用戶界面UI目錄(Catalog)and特性(Feature)配置平臺平臺創(chuàng)建流程Build系統(tǒng)定制目錄CatalogPB目錄結(jié)構(gòu)DirectoryDescriptionOthersRun-timefiles,binaryfilesforbuildingOSimagefiles,registryfiles,andbatchfilesthatareusedtoaddfilestoanOSimage.PlatformBSPandDevice-specificfilesanddirectories.PrivateSourcecodefortheWindowsCEOS.PublicDirectoriesfortheWindowsCEOSconfigurations.SDKToolsandlibrariesintheWindowsCESDKthatsupportPlatformBuilder.環(huán)境變量%_WINCEROOT%-WindowsCE安裝的根目錄通常為C:\WINCE500%_PUBLICROOT%-%_WINCEROOT%\PUBLIC%_PLATROOT%-%_WINCEROOT%\Platform其它在build窗口的命令提示符中使用‘set’

可以查看當(dāng)前的環(huán)境變量包含與特定硬件平臺相關(guān)的BSP文件定位在以下目錄%_WINCEROOT%\Platform包含以下子目錄每一個目錄用于描述某一特定WindowsCE平臺的應(yīng)用每一目錄包含一個dirs文件和至少

一個特定BSP的批處理文件將你與該特定硬件平臺相關(guān)的文件放入對應(yīng)目錄Platform目錄Public目錄包含與平臺無關(guān)的組件和配置設(shè)置定位在以下目錄%_WINCEROOT%\Public包含以下子目錄:模塊、組件子目錄Common,Wceshellfe,Wceappsfe,IE,Servers相關(guān)配置子目錄-CEBASESDK目錄定位在以下目錄%_WINCEROOT%\SDK包含支持PlatformBuilder的工具ProcessorcompilersDevelopmenttoolsMiscellaneousutilitiesOthers目錄定位在以下目錄%_WINCEROOT%\OTHERS包括以下子目錄:ATL:包含調(diào)試用的ATL頭文件,庫和原碼等DOTNET:包含.NET可用的各處理器的二進(jìn)制文件和portable.NETCompactFramework文件MFC:包含調(diào)試用的MFC頭文件,庫和原碼等

SAMPLES:包含MFC和ATL應(yīng)用例程WCETK:包含WindowsCETestKit(CETK)相關(guān)二進(jìn)制文件Private目錄定位在以下目錄%_WINCEROOT%\PRIVATE在安裝的時候必須檢查選項(xiàng),與SharedSourceLicense項(xiàng)保持一致你可以裝載你的產(chǎn)品的最新版私人代碼Premium(“Almosteverything”)Source都是可用的包括的:KernelGWEScomponentsFilesyscomponents回顧Build的4個步驟2134

SYSGEN根據(jù)OS設(shè)計(jì)配置過濾模塊和組件Build使用DIRS,SOURCES和OS設(shè)計(jì)工作空間為BSP和應(yīng)用build原碼BUILDREL拷貝文件到release目錄下MakeImage用release目錄里的文件身成OS實(shí)時鏡像1234BuildSystem概述IDE作為客戶端,通過命令行創(chuàng)建buildsystem.命令行工具使用環(huán)境變量確認(rèn)Build設(shè)置,并調(diào)用編譯器和連接器命令行工具存放在:%_PUBLICROOT%\COMMON\OAK\MISC環(huán)境變量重要目錄%_WINCEROOT%%_PublicRoot%可選的OS屬性SYSGEN_AYGSHELLSYSGEN_BATTERYSYSGEN_STANDARDSHELLPlatform->SettingoptionsIMGAUTOFLUSHWINCESHIPIMGRAM64原碼結(jié)構(gòu)DIRSSOURCESMakeFilemakefile.defDIRS文件DIRS類似工作空間“Workspace”中包含的工程“projects”列表文本文件列出了包含其它DIRSorSOURCES文件的目錄列表BUILD.EXE通過讀DIRS文件確定build的內(nèi)容例如:DIRS=\ Eboot\ DriversSOURCESSOURCES工程的源文件列表TARGETNAME輸出目標(biāo)名(非擴(kuò)展)TARGETTYPEPROGRAM–(.EXE)ApplicationDYNLINK–(.DLL)DynamicLinkLibraryLIBRARY–(.LIB)Staticlibrary文件結(jié)構(gòu)文本文件被包含在makefile.def,提供給目標(biāo)機(jī)關(guān)于build的相關(guān)信息MAKEFILE.INCSOURCESMAKEFILE.DEFLocalprojectfolder%_MAKEENVROOT%有用的命

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論