it教程網wince開發講義oal_第1頁
it教程網wince開發講義oal_第2頁
it教程網wince開發講義oal_第3頁
it教程網wince開發講義oal_第4頁
it教程網wince開發講義oal_第5頁
免費預覽已結束,剩余32頁可下載查看

下載本文檔

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

文檔簡介

1、T11. OAL開發(1)Windows CE 培訓教材系列2006-05-011內容構建WidnowsCE映象高級調試技術2構建Windows CE映象PB的目錄結構構建過程在集成開發環境中進行構建修改配置文件創建組件使用CEC編輯器修改CEC文件3PB的目錄結構Platform目錄存儲硬件相關的BSP文件位于%_WINCEROOT%Platform包含子目錄每一個子目錄表示一個平臺對一個唯一的BSP,每一個目錄包含一個dirs文件和一個或多個bat文件自己的開發平臺的文件可以放到這個目錄下一般包含以下子目錄:CESYSGEN:有一個makefile文件DRIVERS:特定平臺的所有設備驅動

2、源代碼EBOOT:以太網引導的源代碼FILES:幫助PB構建平臺的配置文件,執行的任務有:包含驅動,寫注冊表和內存信息。不能改變該目錄名GWE:硬件相關的GWE模塊。靜態鏈接到GWES.EXEINC:平臺相關的頭文件。比如CPU寄存器地址、設備地址等等KERNEL:OAL的實現文件LIB:特定平臺的靜態鏈接庫TARGET:平臺相關模塊的輸出目錄。例如DRIVER的動態庫、系統的可執行文件4PB的目錄結構Public目錄獨立于平臺的組件WINCE配置文件包含三種類型的子目錄:模塊和組件:Common、Wceshellfe,Wceappsfe,IE,MSMQ參考配置文件目錄:IABase、HLBa

3、se客戶配置子目錄模塊和組件目錄內容COMMON:OS內核組件:OS內核、文件系統、GWE、通信、調試DATASYNC:設備端通信組件 : 組件DIRECTX:DirectX for WinCEIE:IE5。5MSMQ:支持MSMQ的組件RDP:遠程桌面協議模塊SCRIPT:JSP和VBScript引擎SERVERS:支持Web ServerWCEAPPAFE:允許應用程序支持遠東字符WCESHELLFE:遠東字符的shell,如任務管理器、控制面板所有的子目錄具有如下結構:CESYSGEN:包含makefile5PB的目錄結構SDK目錄創建平臺所需要的工具和二進制文件包含以下工具編譯器預處理

4、開發工具:如:Error Lookup、GuidGen、Link和NMake其它應用工具;如:Zoomin、windiff6PB的目錄結構Others目錄運行時庫、例子和組件包含如下目錄:ATL: ATL的頭文件、庫和二進制文件以及調試用的源文件DOTNET: .Net組件MFC:MFC頭文件、庫和二進制文件以及調試用的源文件SAMPLES:WINCE提供的例程WCETK:Windows CE Test KitPrivate目錄 OS的源代碼必須在安裝時選擇 Share source code包含以下源代碼:內核GWES組件Filesys組件7構建過程COMMONDATASYNC DIRECT

5、XIEMSMQRDPSCRIPTSERVERSWCEAPPSFEWCESHELLFE.cesysgenddk.cesysgenoak.cesysgensdktarget, filesStep 1. System GenerationStep 2. Feature BuildStep 3. Building the Release DirectoryStep 4. Making an ImageNK.BIN.platform.target, filesC:WINCE400PUBLIC%_TGTPROJ%RelDir%_TGTPLAT%_X86Debug8System GenerationComp

6、lete header and source code filesComplete system librariesModule definitions (.def)Cesysgen.batSystem-specific header filesLinked librariesSpecific .def filesSYSGEN.BAT9Feature Build編譯源代碼使用DIRS文件決定需要編譯哪些子目錄使用SOURCES文件決定需要編譯哪些文件調用 NMAKE.EXE執行編譯和鏈接在TARGET目錄下建立exe、dll的二進制文件在lib目錄下創建lib的二進制文件DIRS文件:列出需要

7、構建的子目錄,子目錄下可以再包含DIRS文件SOURCES文件:為build.exe提供信息,如需要編譯哪些文件,模塊類型(dll或lib)10Building the Release Directory拷貝所有的平臺文件到release目錄下拷貝所有的二進制文件到release目錄下構建所有的PB工程(pbp)從下列目錄拷貝:11Making an Image合并release目錄下的文件為WinCE映象文件處理過程:合并所有的配置文件所有的.bib文件到CE.BIB所有的.reg到 REGINIT.INI所有的.dat到 INITOBJ.DAT所有的.db 到INITDB.INI壓縮REG

8、INIT.INI到二進制注冊表文件DEFAULT.FDF替換exe和dll的資源從CE.BIB中合并文件到CE映象文件NK.BIN12構建過程中的錯誤Sysgen階段發生錯誤缺少文件、缺少OS特性的配置:檢查build.log文件構建階段發生錯誤編譯錯誤或者鏈接錯誤:語法錯誤或者鏈接庫錯誤,build.err構建release目錄階段發生錯誤拷貝文件錯誤:磁盤空間不夠或者前面的錯誤導致、或者BIB文件錯誤構建映象文件階段發生錯誤在CE.BIB中執行romimage.exe發生錯誤:在release目錄下缺少BIB中指定的文件在REGINIT.INI中執行romimage.exe發生錯誤:CE注

9、冊表語法錯誤Error:Image exceeds:構建的image超過了config.bib文件中指定的NK空間13在集成開發環境中進行構建FeatureView顯示包含在平臺中的所有驅動和OS組件添加或者移除系統特性或者組件Resolve Features對話框環境變量在PB中設置環境變量,會導致重構建整個平臺;可以嘗試在CEC文件中設置環境變量14在集成開發環境中進行構建To build a selected component:Select the item to be built in the FeatureView windowRight-click and click Build

10、 Selected Components To recreate an image:In the Platform Builder, on the Build menu, click Make Image 15配置文件BIB文件注意:如果module中的文件屬性為 pressed,則使用XIPIndicate the modules and components that should be included in the imageText files with four types of sections:The FILES section: Memory reservation for

11、static data filesThe MODULES section: Specifies object module to be loaded in memory;NamePathMemory Type-Tahoma.ttf $(_FLATRELEASEDIR)Tahoma.ttf NK SHUTaskman.exe$(_FLATRELEASEDIR)Taskman.exe NK 16配置文件BIB文件Module段文件屬性17配置文件BIB文件COMMON.BIB, IE.BIB,MSMQ.BIB, WCEAPPS.BIB, WCESHELL.BIB需要包含到image中的與這些模塊相

12、關的.EXE, .DLL, .TXT, .WAV和.BMP文件PLATFORM.BIB依賴于平臺的文件,如驅動等PROJECT.BIB與工程相關的文件CONFIG.BIB所有內存信息的細節。如內存的起始地址。只在該文件中實現了MEMORY和CONFIG段。18配置文件BIB文件DATAPROGRAMRESERVEDMEMORY section defines the platform memory informationPartitions the physical memory into Data memory and Program memoryThe CONFIG sectionIs n

13、ot mandatoryIs used to set properties, such as compression or ROM sizeNameStart addressSize(bytes) Type-NK8C80000000800000RAMIMAGERAM8C050000007AFFFFRAM19配置文件REG文件Define default registry settingsCOMMON.REG, IE.REG, MSMQ.REG, WCEAPPS.REG, WCESHELL.REG: define registry settings for Windows CE modulesP

14、LATFORM.REG: platform-dependent registry settings, such as device drivers entriesPROJECT.REG: defines registry settings relative to your projectHKEY_LOCAL_MACHINEinit“Launch10”=“shell.exe”“Launch20”=“device.exe”20配置文件DAT文件Define folder structures of your imageCOMMON.DAT, IE.DAT, MSMQ.DAT, WCEAPPS.DA

15、T, WCESHELL.DATPLATFORM.DAT PROJECT.DATExample:Root:-Directory(“Program Files”)Directory(“Program Files”):-Directory(“My Projects”)Root:-Directory(“My Documents”)Directory(“My Documents”):-File(“MyFile.doc”,“WindowsMyfile.doc”)21配置文件DAT文件實例:為MyApp.exe文件添加一個桌面快捷方式1 創建一個lnk文件Lnk文件是包含命令行的文本文件,格式為 #。本例中

16、為20windowsMyApp.exe該文件放到publicWinCE400OakFiles2 在dat文件中創建移動該鏈接的入口添加lnk文件到rom映象。Project.bib中增加22配置文件DB文件Define default image databasesCOMMON.DB, WCEAPPS.DB, WCESHELL.DB These .DB files are the databases relative to the Common, Wceapps, and Wceshell modules.PLATFORM.DBThe PLATFORM.DB file contains the

17、 platform-specific default databases PROJECT.DBThe PROJECT.DB file contains the project-specific default databases 23使用CEC編輯器編輯CEC文件Open the CEC editor (CECEditor.exe)Modify Current CEC filesOn the File menu, click Open to open a CEC file Create new CEC filesOn the File menu, click New. It displays

18、a window with a clean CEC Catalog note.24創建一個組件List of blocks in a text file that describes components to be included in the catalogFour types of blocks:CECInfo BlockContains information about your company and this particular CEC file ComponentType blockDescribes a top-level organizational descripti

19、on. For example, Drivers might be a ComponentType Implementation blockdescribes one specific implementation of a ComponentType BuildMethod blockdescribes how to build the current ImplementationAdding a component file to the catalog 25CECInfo塊Information about CEC fileExample:CECInfo ( Name(keybmouse

20、) GUID(6563AD3D-E71C-11d4-B892-0050FC049781) CECVersion(4.00) Vendor(Microsoft) Description(Keyboard and Mouse Features)26ComponentType塊Component information to be associated with itExample:ComponentType( Name( Keyboard/Mouse ) GUID( 6563AD41-E71C-11d4-B892-0050FC049781 ) Description( Keyboard/Mouse

21、 Driver ) Group( DriversStandard ) RequiredCEModules( ANY, keybd pointer ) RequiredCEModules( ALL, device ) ExcludeWhenSet( ANY, BSP_NOKEYBD ) MaxResolvedImpsAllowed(1) Implementations ()27Implementation塊Defines implementation for a componentExample: Implementation ( Name(PL050 KbdMouse Eng) Descrip

22、tion(US English Keyboard/Mouse Driver) Vendor(“Microsoft”) Date(02/17/01) GUID( 20902417-9B08-4fa4-8E43-A7F49AE796D6 ) BSPPlatformDir( ARMIntegrator ) Variable(BSP_NOTOUCH, 1) Variable(BSP_NOKEYBD, ) BuildMethods()28ImplementationBIBInfoSpecifies a BIB entry to be set by the particular implementatio

23、n Automatically adds a built component to the BIB, which adds the feature to the image Is new to Windows CE .NET files BibRecord adds standard BIB entry to the platform 29BuildMethod塊Provides information needed to build the componentExample:BuildMethod(Step( “BSP” )GUID( EE70A156-867F-4ba7-993F-2D04D98F47EF )OutputFiles()Action(#BUILD(SOURCES,$(_WINCEROOT)othersddtk30testsrcrealtime)30BuildMethod塊ActionCESYSGENBSPBuildrelMakeimg#BUILD(DIR,) NoYesNoNo#BUILD(S

溫馨提示

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

評論

0/150

提交評論