嵌入式软件开发导论5操作系统开发_第1页
嵌入式软件开发导论5操作系统开发_第2页
嵌入式软件开发导论5操作系统开发_第3页
嵌入式软件开发导论5操作系统开发_第4页
嵌入式软件开发导论5操作系统开发_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式软件开发导论同济大学软件学院20065.操作系统开发目录介绍PlatformBuilder用户界面UI目录(Catalog)and特性(Feature)配置平台平台创建流程Build系统定制目录Catalog目录介绍PlatformBuilder用户界面UI目录(Catalog)and特性(Feature)配置平台平台创建流程Build系统定制目录Catalog介绍PlatformBuilder一个定制基于WindowsCE的平台定制集成开发环境(IDE)提供所有与基于WindowsCE平台设计、创建、编译、测试和调试相关的开发工具该集成开发环境提供统一的与平台和项目相关的工作空间

PB能做什么?(1)平台向导帮助你创建一个新的平台(platform)BSP向导帮助你创建新的板级支持包(BSP)目录(Catalog)显示用户定制的平台OS属性列表依赖性自动监测(Automateddependencychecking)可以确保与平台相关的所有属性都会被包含在OS镜像中

导出向导可以导出目录中的属性给其它PB使用者

基本配置(Baseconfigurations)是创建用户特定定制OS的起点PB能做什么?(2)WindowsCE测试套件(TestKit)提供了整套驱动测试工具

内核调试器可以调试定制的OS镜像,同时提供给用户镜像运行状况的信息

应用调试器可以调试在特定OS上运行的应用程序

远程工具可以调试基于WindowsCE的目标机上运行任务,并获取相关信息

模拟器通过模拟硬件可以加快和简化开发过程,使用户可以在宿主机上完成平台和应用程序的初步开发

SDK导出向导可以为用户导出一个特定的软件支持包(softwaredevelopmentkit—SDK).平台向导(PlatformWizard)平台向导帮助你一步步的创建一个基于WindowsCE的平台使用平台向导的4步选择一个安装的BSP为你的设备选择一个基本平台配置

为你的设备选择配置变量

为你的平台选择其它的属性PlatformBuilder用户界面TextEditorWorkspaceWindowSearchTextConnectivityDeviceNameOutputWindowsDebugtoolstatusindicatorsMultipleviewsoftheworkspaceBuildConfiguration目录(Catalog)包含BSPs,驱动,OS内核配置和平台管理器等,在目录中出现的所有项目包含了你所设计的CE平台所使用到的属性BSP:BoardSupportPackagesCoreOS:includesheadlessdevicesanddisplay-baseddevices:ApplicationsandServicesDevelopmentApplications-EndUserCommunicationServicesandNetworkingCoreOSServicesFileSystemsandDataStoreFontsInternationalInternetClientServicesMultimediaTechnologiesSecurityShellandUserInterfaceDeviceDriversPlatformManager目录(Catalog)项属性组(FeatureGroup)和属性(Feature)属性组定义了通用的属性而没有定义具体的实现。属性组在你选择一个实现的时候才被解析,这个实现决定了它的具体功能。一个属性是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的依赖关系挑战了解尽可能多的features挑战丰富的经验和知识没有这些不能设计合理的平台WindowsCE上可以使用简体中文?WindowsCE支不支持VBScript?关于属性的功能可参照:有关WindowsCE.NET->CatalogFeaturesPlatformSetting使你可以浏览和修改关于整个平台的每个属性的选项菜单:Platform->Settings…BuildOptions(1)EnableCETargetControlSupport选择该选项可以在启动时使能目标控制功能(targetcontrolsupport).选择这一项同时也打开了内核无关传输层(KernelIndependentTransportLayer—KITL).EnableEbootSpaceinMemory

选择该选项可以在Config.bib文件中预留内存空间,允许在启动过程中操作系统可以读取bootloader存储的数据.EnableEventTrackingduringBoot选择该选项可以开启事件跟踪子系统(event-trackingsubsystem).EnableFullKernelMode

选择该选项可使线程运行在内核模式,选择该模式会使系统较脆弱,但是性能会有所提高.EnableImageforFlash选择该选项可以使编译好的镜像下载后被烧写的到Flash中BuildOptions(2)EnableKernelDebugger

允许调试器建立宿主机和目标机间的链接和传送调试信息EnableKITL

要建立宿主机和目标机间的通讯就必须选择该选项,取消该项也会同时取消被选定的“EnableCETargetControlSupport”选项EnableProfiling选择该选项可以将WindowsCE的有关内核的信息以日志的形式装入平台镜像中EnableShipBuild这是一个有条件编译的标志,设置它表示OS会提供详细的调试信息来帮助调试.FlushEventstoReleaseDirectory选择该选项将事件放入release目录,同时开启事件跟踪平台配置文件PlatformBuilder使用两类配置文件:

原码配置文件Build工具使用原码配置文件去build模块、属性,同时为你的OS镜像build原码

镜像配置文件MakeBinaryImage工具调用相应的工具,这些工具使用镜像配置文件来产生OS镜像原码配置文件文件类型描述DirsFile描述包含源代码的子目录SourcesFile包含要编译的代码及宏MakefileFileMakefile镜像配置文件参数视图配置文件:.BIB文件表明应该被包含在镜像中的模块和组件包含4个部分的文本文件:文件部分:为静态数据文件预留的内存模块部分:指定被装载到内存中的目标模块;Name Path MemoryType-----------------------------------------------------Tahoma.ttf $(_FLATRELEASEDIR)\Tahoma.ttfNK SHUTaskman.exe $(_FLATRELEASEDIR)\Taskman.exeNK

配置文件:.BIB文件内存部分

定义平台的内存信息划分物理内存的数据存储和程序存储部分配置部分不是必须的用来设置属性等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:与平台相关的注册设置,如驱动入口等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文件定义默认的镜像数据库COMMON.DB,WCEAPPS.DB,WCESHELL.DB这些.DB文件是与Common,Wceapps,andWceshell模块相关的数据库PLATFORM.DB该文件包含特定平台的默认数据库

PROJECT.DB该文件特定工程的默认数据库产生镜像整合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

命令时,系统创建平台依次经历了以下4个过程:Sysgen阶段任务链接相应的静态库到模块MakeSDK过滤系统头文件,产生只包含为声明被平台导出的函数的头文件.为系统模块产生输入库构建板级支持包(BSP)SystemGenerationCompleteheaderandsourcecodefilesCompletesystemlibrariesModuledefinitions(.def)Cesysgen.batSystem-specificheaderfilesLinkedlibrariesSpecific.deffilesSYSGEN.BATFeatureBuild阶段任务所有的用户属性,包括PB工程文件(.pbp),dirs文件,源文件,makefiles(.mak)被编译和创建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二进制镜像数据格式运行时必须首先装载到内存中.由数据段和代码段组成nk.nb0:二进制数据文件格式能够被转载到Flash中可以以XIP模式运行XIP介绍ExecuteInPlace的简称程序的执行可以直接在ROM中,而不是必须得先装载到RAM中

被NORflash类型的闪存支持如何解决Build中的错误查看Output

窗口NoenoughharddiskspaceCompile&linkerror检查WINCE420根目录下的Build.log&Build.err

文件详细的输出信息Windows编程经验和知识是你解决问题的关键解释BuildErrorsSysgen阶段的错误Causedbymissingfiles,missingconfigurationoftheoperatingsystemfeatures,andapplicationsbuiltduringtheSysgenphaseModulebuild阶段的错误CompilationerrorsorunresolvedlinkerrorsBuildingthereleasedirectory阶段的错误FilecopyerrorsMakinganimage阶段的错误Romimage.exefailedinCE.BIBRomimage.exefailedinreginit.iniWarning:Imageexceeds作业阅读在线文档“CEPCHow-toTopics”和“Tutorial:UsingPlatformBuilderwithaCEPC”,x86硬件平台上下载、运行自己的一个WindowsCE提示:制作wince的启动盘和配置IP地址用cepcBSP创建你的WinCE用你的启动盘启动系统通过TCP/IP链接、下载目录介绍PlatformBuilder用户界面UI目录(Catalog)and特性(Feature)配置平台平台创建流程Build系统定制目录Catalog应用程序开发回顾Getplatform&SDKfromOEMsCoding&TestingReleasetoManufactureExportyourSDK平台创建流程得到特定软件开发板(specifiedSoftwareDevelopmentBoard—SDB)的BSP用PlatformBuilder定制平台通过SDB下载、调试和运行平台为你的平台构建发布版系统第一步:获得BSPMicrosoftCEPC第三方OEMsMotorolaDragonballAdvantech7230…生成自己的BSP后面讨论…从哪获得BSP?安装和使用BSP如果BSP是以MSI文件提供,象其它的软件那样安装它如果BSP是以源文件的形式提供,在PB中添加相应的.CEC文件注意:你必须首先在PB中安装了相应CPU的支持演示:

安装和使用MotorolaDragonBallMXLBSP第二步:定制平台在Microsoft提供的模板中选择一个,在它的基础上进行修改从头定制HLBaseandIABaseHL意思headless,表示该OS没有图形用户界面GUI如果选择IABase,OS包含GUI第三步:通过SDB下载、调试和运行平台获得EbootorSboot配置网络配置串行调试接口(可选)配置PlatformBuilder链接下载OS镜像到板子常规步骤:获得EbootorSbootBootloader通常做为BSP的一部分由OEMs提供.bootloader的目的是装载OS镜像到内存中,然后跳到OS启动程序Eboot:EthernetBootloaderSboot:SerialBootloader通常在release版中被除去各种BootloaderFlashintoflashRomUsebootfloppydiskUseCFcard…唯一的目的:下载OS镜像为串口配置网络只插串口链接线缺点:太慢为以太网配置网络用Hub为以太网配置网络使用独立的网络链接配置串行调试接口插RS232串口适配器到ADS板和你主机上默认的COM口.选择StartMenu→Programs→Accessories→Hyperterminal→Hyperterminal去激活一个Hyperterm窗口超级终端配置PB链接从Target->ConfigureRemoteConnection配置PB链接Eboot会向LAN发送广播包,PB接收和显示设备ID下载OS镜像到板子在PB中点击Target→Download/Initialize.在设备的屏幕上你会看到我们到哪了?Gethardware&BSPfromOEMsNeedplatformcustomization?Getplatform&SDKfromOEMsCustomizeyourWinCEplatformExportyourSDKCoding&TestingReleasetoManufacture目录介绍PlatformBuilder用户界面UI目录(Catalog)and特性(Feature)配置平台平台创建流程Build系统定制目录CatalogPB目录结构DirectoryDescriptionOthersRun-timefiles,binaryfilesforbuildingOSimagefiles,registryfiles,andbatchfilesthatareusedtoaddfilestoanOSimage.PlatformBSPandDevice-specificfilesanddirectories.PrivateSourcecodefortheWindowsCEOS.PublicDirectoriesfortheWindowsCEOSconfigurations.SDKToolsandlibrariesintheWindowsCESDKthatsupportPlatformBuilder.环境变量%_WINCEROOT%-WindowsCE安装的根目录通常为C:\WINCE500%_PUBLICROOT%-%_WINCEROOT%\PUBLIC%_PLATROOT%-%_WINCEROOT%\Platform其它在build窗口的命令提示符中使用‘set’可以查看当前的环境变量包含与特定硬件平台相关的BSP文件定位在以下目录%_WINCEROOT%\Platform包含以下子目录每一个目录用于描述某一特定WindowsCE平台的应用每一目录包含一个dirs文件和至少

一个特定BSP的批处理文件将你与该特定硬件平台相关的文件放入对应目录Platform目录Public目录包含与平台无关的组件和配置设置定位在以下目录%_WINCEROOT%\Public包含以下子目录:模块、组件子目录Common,Wceshellfe,Wceappsfe,IE,Servers相关配置子目录-CEBASESDK目录定位在以下目录%_WINCEROOT%\SDK包含支持PlatformBuilder的工具ProcessorcompilersDevelopmenttoolsMiscellaneousutilitiesOthers目录定位在以下目录%_WINCEROOT%\OTHERS包括以下子目录:ATL:包含调试用的ATL头文件,库和原码等DOTNET:包含.NET可用的各处理器的二进制文件和portable.NETCompactFramework文件MFC:包含调试用的MFC头文件,库和原码等

SAMPLES:包含MFC和ATL应用例程WCETK:包含WindowsCETestKit(CETK)相关二进制文件Private目录定位在以下目录%_WINCEROOT%\PRIVATE在安装的时候必须检查选项,与SharedSourceLicense项保持一致你可以装载你的产品的最新版私人代码Premium(“Almosteverything”)Source都是可用的包括的:KernelGWEScomponentsFilesyscomponents回顾Build的4个步骤2134

SYSGEN根据OS设计配置过滤模块和组件Build使用DIRS,SOURCES和OS设计工作空间为BSP和应用build原码BUILDREL拷贝文件到release目录下MakeImage用release目录里的文件身成OS实时镜像1234BuildSystem概述IDE作为客户端,通过命令行创建buildsystem.命令行工具使用环境变量确认Build设置,并调用编译器和连接器命令行工具存放在:%_PUBLICROOT%\COMMON\OAK\MISC环境变量重要目录%_WINCEROOT%%_PublicRoot%可选的OS属性SYSGEN_AYGSHELLSYSGEN_BATTERYSYSGEN_STANDARDSHELLPlatform->SettingoptionsIMGAUTOFLUSHWINCESHIPIMGRAM64原码结构DIRSSOURCESMakeFilemakefile.defDIRS文件DIRS类似工作空间“Workspace”中包含的工程“projects”列表文本文件列出了包含其它DIRSorSOURCES文件的目录列表BUILD.EXE通过读DIRS文件确定build的内容例如: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个输入参数为宿主机准备开发环境

%_TGTCPU%%_TGTPROJ%%_TGTPLAT%例:wincex86MYPROJCEPCBldDemo.bat用来build和生成OS镜像.它调用3个工具:Cebuild.bat:Build平台的模块、属性和原码Buildrel.bat:为平台拷贝文件到release目录下,它是生成二进制镜像的工具Makeimg.exe:产生OS镜像Build.exe用来构建、创建各种项目DIRS文件定义目录结构自动监测源文件和头文件的依赖关系WindowsCEBuild过程的核心调用NMAKE.EXE做真正的buildDIR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论