嵌入式軟件開發(fā)導論5操作系統(tǒng)開發(fā)_第1頁
嵌入式軟件開發(fā)導論5操作系統(tǒng)開發(fā)_第2頁
嵌入式軟件開發(fā)導論5操作系統(tǒng)開發(fā)_第3頁
嵌入式軟件開發(fā)導論5操作系統(tǒng)開發(fā)_第4頁
嵌入式軟件開發(fā)導論5操作系統(tǒng)開發(fā)_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

嵌入式軟件開發(fā)導論同濟大學軟件學院20065.操作系統(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平臺設計、創(chuàng)建、編譯、測試和調(diào)試相關的開發(fā)工具該集成開發(fā)環(huán)境提供統(tǒng)一的與平臺和項目相關的工作空間

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

導出向?qū)Э梢詫С瞿夸浿械膶傩越o其它PB使用者

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

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

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

遠程工具可以調(diào)試基于WindowsCE的目標機上運行任務,并獲取相關信息

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

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

為你的設備選擇配置變量

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

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

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

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

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

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

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

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

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

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

RAM 8C050000 007AFFFF RAM配置文件:.REG文件定義默認的注冊設置COMMON.REG,IE.REG,WCEAPPS.REG,WCESHELL.REG:為WindowsCE模塊定義注冊設置PLATFORM.REG:與平臺相關的注冊設置,如驅(qū)動入口等PROJECT.REG:定義與你的工程相關的注冊設置[HKEY_LOCAL_MACHINE\init]“Launch10”=“shell.exe”“Launch20”=“device.exe”配置文件:.DAT文件定義鏡像的文件夾結構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文件定義默認的鏡像數(shù)據(jù)庫COMMON.DB,WCEAPPS.DB,WCESHELL.DB這些.DB文件是與Common,Wceapps,andWceshell模塊相關的數(shù)據(jù)庫PLATFORM.DB該文件包含特定平臺的默認數(shù)據(jù)庫

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

所有的.bib文件到CE.BIB

所有的.reg文件到REGINIT.INI

所有的.dat文件到INITOBJ.DAT

所有的.db文件到INITDB.INI壓縮reginit.ini到二進制注冊文件(DEFAULT.FDF)由于語言的適配,替換.exeand.dll中的資源forlanguageadaptation生成WindowsCE鏡像(NK.BIN)

Build的幾個階段Sysgen階段FeatureBuild階段ReleaseCopy階段MakeImage階段當你在IDE的Biuld菜單下選擇

BuildPlatform

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

MakeImage

命令

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

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

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

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

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

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

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

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

%_TGTCPU%%_TGTPROJ%%_TGTPLAT%例:wincex86MYPROJCEPCBldDemo.bat用來build和生成OS鏡像.它調(diào)用3個工具:Cebuild.bat:Build平臺的模塊、屬性和原碼Buildrel.bat:為平臺拷貝文件到release目錄下,它是生成二進制鏡像的工具Makeimg.exe:產(chǎn)生OS鏡像Build.exe用來構建、創(chuàng)建各種項目DIRS文件定義目錄結構自動監(jiān)測源文件和頭文件的依賴關系WindowsCEBuild過程的核心調(diào)用NMAKE.EXE做真正的buildDIR

溫馨提示

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

最新文檔

評論

0/150

提交評論