嵌入式软件开发导论.ppt

上传人:小飞机 文档编号:5970531 上传时间:2023-09-09 格式:PPT 页数:90 大小:955KB
返回 下载 相关 举报
嵌入式软件开发导论.ppt_第1页
第1页 / 共90页
嵌入式软件开发导论.ppt_第2页
第2页 / 共90页
嵌入式软件开发导论.ppt_第3页
第3页 / 共90页
嵌入式软件开发导论.ppt_第4页
第4页 / 共90页
嵌入式软件开发导论.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《嵌入式软件开发导论.ppt》由会员分享,可在线阅读,更多相关《嵌入式软件开发导论.ppt(90页珍藏版)》请在三一办公上搜索。

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

2、一的与平台和项目相关的工作空间,PB能做什么?(1),平台向导帮助你创建一个新的平台(platform)BSP向导帮助你创建新的板级支持包(BSP)目录(Catalog)显示用户定制的平台OS属性列表依赖性自动监测(Automated dependency checking)可以确保与平台相关的所有属性都会被包含在OS镜像中 导出向导可以导出目录中的属性给其它PB使用者 基本配置(Base configurations)是创建用户特定定制OS的起点,PB能做什么?(2),Windows CE测试套件(Test Kit)提供了整套驱动测试工具 内核调试器可以调试定制的OS镜像,同时提供给用户镜像

3、运行状况的信息 应用调试器可以调试在特定OS上运行的应用程序 远程工具可以调试基于Windows CE的目标机上运行任务,并获取相关信息 模拟器通过模拟硬件可以加快和简化开发过程,使用户可以在宿主机上完成平台和应用程序的初步开发 SDK导出向导可以为用户导出一个特定的软件支持包(software development kit SDK).,平台向导(Platform Wizard),平台向导帮助你一步步的创建一个基于Windows CE的平台,使用平台向导的4 步,选择一个安装的BSP为你的设备选择一个基本平台配置 为你的设备选择配置变量 为你的平台选择其它的属性,Platform Build

4、er 用户界面,Text Editor,Workspace Window,Search Text,Connectivity Device Name,Output Windows,Debug tool status indicators,Multiple views of the workspace,Build Configuration,目录(Catalog),包含BSPs,驱动,OS内核配置和平台管理器等,在目录中出现的所有项目包含了你所设计的CE平台所使用到的属性,BSP:Board Support Packages Core OS:includes headless devices an

5、d display-based devices:Applications and Services Development Applications-End User Communication Services and Networking Core OS Services File Systems and Data Store Fonts International Internet Client Services Multimedia Technologies Security Shell and User Interface Device Drivers Platform Manage

6、r,目录(Catalog)项,属性组(Feature Group)和属性(Feature),属性组定义了通用的属性而没有定义具体的实现。属性组在你选择一个实现的时候才被解析,这个实现决定了它的具体功能。一个属性是OS组件的任何一个逻辑群,Feature 图标,Feature 图标(2),Feature 选项,显示备选feature信息.,Feature依赖关系,显示备选feature的依赖关系,挑战,了解尽可能多的features,挑战,丰富的经验和知识没有这些不能设计合理的平台Windows CE上可以使用简体中文?Windows CE支不支持VBScript?关于属性的功能可参照:有关Wi

7、ndows CE.NET-Catalog Features,Platform Setting,使你可以浏览和修改关于整个平台的每个属性的选项菜单:Platform-Settings,Build Options(1),Enable CE Target Control Support 选择该选项可以在启动时使能目标控制功能(target control support).选择这一项同时也打开了内核无关传输层(Kernel Independent Transport Layer KITL).Enable Eboot Space in Memory 选择该选项可以在Config.bib文件中预留内存空

8、间,允许在启动过程中操作系统可以读取boot loader存储的数据.Enable Event Tracking during Boot 选择该选项可以开启事件跟踪子系统(event-tracking subsystem).Enable Full Kernel Mode 选择该选项可使线程运行在内核模式,选择该模式会使系统较脆弱,但是性能会有所提高.Enable Image for Flash 选择该选项可以使编译好的镜像下载后被烧写的到Flash中,Build Options(2),Enable Kernel Debugger 允许调试器建立宿主机和目标机间的链接和传送调试信息Enable

9、KITL 要建立宿主机和目标机间的通讯就必须选择该选项,取消该项也会同时取消被选定的“Enable CE Target Control Support”选项Enable Profiling 选择该选项可以将Windows CE的有关内核的信息以日志的形式装入平台镜像中Enable Ship Build 这是一个有条件编译的标志,设置它表示OS会提供详细的调试信息来帮助调试.Flush Events to Release Directory 选择该选项将事件放入release目录,同时开启事件跟踪,平台配置文件,Platform Builder 使用两类配置文件:原码配置文件Build工具使用原

10、码配置文件去build模块、属性,同时为你的OS镜像build原码 镜像配置文件Make Binary Image工具调用相应的工具,这些工具使用镜像配置文件来产生OS镜像,原码配置文件,镜像配置文件,参数视图,配置文件:.BIB 文件,表明应该被包含在镜像中的模块和组件包含4个部分的文本文件:文件部分:为静态数据文件预留的内存模块部分:指定被装载到内存中的目标模块,;NamePathMemory Type-Tahoma.ttf$(_FLATRELEASEDIR)Tahoma.ttf NK SHU,Taskman.exe$(_FLATRELEASEDIR)Taskman.exe NK,配置文件

11、:.BIB 文件,内存部分 定义平台的内存信息划分物理内存的数据存储和程序存储部分配置部分不是必须的用来设置属性等,NameStart addressSize(bytes)Type-NK8C80000000800000RAMIMAGERAM8C050000007AFFFFRAM,配置文件:.REG文件,定义默认的注册设置COMMON.REG,IE.REG,WCEAPPS.REG,WCESHELL.REG:为Windows CE模块定义注册设置PLATFORM.REG:与平台相关的注册设置,如驱动入口等PROJECT.REG:定义与你的工程相关的注册设置,HKEY_LOCAL_MACHINEin

12、it“Launch10”=“shell.exe”“Launch20”=“device.exe”,配置文件:.DAT文件,定义镜像的文件夹结构COMMON.DAT,IE.DAT,WCEAPPS.DAT,WCESHELL.DATPLATFORM.DAT PROJECT.DAT例子:,Root:-Directory(“Program Files”)Directory(“Program Files”):-Directory(“My Projects”)Root:-Directory(“My Documents”)Directory(“My Documents”):-File(“MyFile.doc”,

13、“WindowsMyfile.doc”),配置文件:.DB 文件,定义默认的镜像数据库COMMON.DB,WCEAPPS.DB,WCESHELL.DB 这些.DB文件是与Common,Wceapps,and Wceshell模块相关的数据库PLATFORM.DB该文件包含特定平台的默认数据库 PROJECT.DB该文件特定工程的默认数据库,产生镜像,整合release文件夹中的文件来生成Windows CE镜像过程整合配置文件:所有的.bib 文件到CE.BIB 所有的.reg 文件到REGINIT.INI所有的.dat 文件到INITOBJ.DAT 所有的.db 文件到INITDB.INI压

14、缩reginit.ini 到二进制注册文件(DEFAULT.FDF)由于语言的适配,替换.exe and.dll中的资源 for language adaptation生成Windows CE镜像(NK.BIN),Build的几个阶段,Sysgen 阶段Feature Build 阶段Release Copy阶段Make Image阶段,当你在IDE的Biuld菜单下选择 Build Platform 命令时,系统创建平台依次经历了以下4个过程:,Sysgen 阶段任务,链接相应的静态库到模块Make SDK过滤系统头文件,产生只包含为声明被平台导出的函数的头文件.为系统模块产生输入库构建板级

15、支持包(BSP),System Generation,Complete header and source code files,Complete system libraries,Module definitions(.def),Cesysgen.bat,System-specific header files,Linked libraries,Specific.def files,SYSGEN.BAT,Feature Build 阶段任务,所有的用户属性,包括PB工程文件(.pbp),dirs文件,源文件,makefiles(.mak)被编译和创建,Release Copy 阶段任务,拷贝

16、所有用户生成OS镜像所需的文件到release目录下,在Sysgen阶段生成的模块和文件首先被拷贝,接着是Feature Build阶段生成的模块和文件.,Make Image 阶段任务,Rrelease目录中的文件被整合的二进制镜像文件 Nk.bin中.这一阶段对应Build菜单下的 Make Image 命令,Build 过程,COMMONDATASYNCDCOMDIRECTXIERDPSCRIPTSERVERSWCEAPPSFEWCESHELLFE,.cesysgenddk.cesysgenoak.cesysgensdktarget,files,Step 1.System Generat

17、ion,Step 2.Build,Step 3.Building the Release Directory,Step 4.Making an Image,NK.BIN,.platform.target,files,%_FLATRELEASEDIR%,Build 结果,nk.bin:Windows CE 二进制镜像数据格式运行时必须首先装载到内存中.由数据段和代码段组成nk.nb0:二进制数据文件格式 能够被转载到Flash中可以以 XIP模式运行,XIP介绍,Execute In Place的简称程序的执行可以直接在ROM中,而不是必须得先装载到RAM中 被NOR flash类型的闪存支持,

18、如何解决 Build 中的错误,查看 Output 窗口No enough hard disk spaceCompile&link error检查WINCE420 根目录下的 Build.log&Build.err 文件 详细的输出信息,Windows编程经验和知识是你解决问题的关键,解释Build Errors,Sysgen阶段的错误Caused by missing files,missing configuration of the operating system features,and applications built during the Sysgen phaseModule

19、 build阶段的错误Compilation errors or unresolved link errorsBuilding the release directory阶段的错误File copy errorsMaking an image阶段的错误Romimage.exe failed in CE.BIBRomimage.exe failed in reginit.iniWarning:Image exceeds,作业,阅读 在线文档“CEPC How-to Topics”和“Tutorial:Using Platform Builder with a CEPC”,x86硬件平台上下载、运

20、行自己的一个Windows CE提示:制作wince的启动盘和配置IP地址用cepc BSP 创建你的WinCE 用你的启动盘启动系统通过TCP/IP链接、下载,目录,介绍 Platform Builder用户界面UI目录(Catalog)and 特性(Feature)配置平台平台创建流程Build系统定制目录Catalog,应用程序开发回顾,平台创建流程,得到特定软件开发板(specified Software Development Board SDB)的BSP用Platform Builder定制平台通过SDB下载、调试和运行平台为你的平台构建发布版系统,第一步:获得 BSP,Micro

21、softCEPC第三方 OEMsMotorola Dragon ballAdvantech 7230生成自己的 BSP后面讨论,从哪获得BSP?,安装和使用 BSP,如果BSP是以MSI文件提供,象其它的软件那样安装它如果BSP是以源文件的形式提供,在PB中添加相应的.CEC 文件注意:你必须首先在PB中安装了相应CPU的支持,演示:安装和使用 Motorola Dragon Ball MXL BSP,第二步:定制平台,在Microsoft提供的模板中选择一个,在它的基础上进行修改从头定制,HLBase and IABase,HL 意思headless,表示该OS没有图形用户界面GUI如果选择

22、 IABase,OS 包含 GUI,第三步:通过SDB下载、调试和运行平台,获得 Eboot or Sboot配置网络配置串行调试接口(可选)配置Platform Builder链接下载 OS镜像到板子,常规步骤:,获得Eboot or Sboot,Bootloader通常做为BSP的一部分由 OEMs提供.boot loader的目的是装载OS镜像到内存中,然后跳到OS启动程序Eboot:Ethernet BootloaderSboot:Serial Bootloader通常在release版中被除去,各种Bootloader,Flash into flash RomUse boot flo

23、ppy diskUse CF card,唯一的目的:下载OS镜像,为串口配置网络,只插串口链接线缺点:太慢,为以太网配置网络,用Hub,为以太网配置网络,使用独立的网络链接,配置串行调试接口,插RS232串口适配器到ADS板和你主机上默认的COM口.选择 Start Menu Programs Accessories Hyperterminal Hyperterminal去激活一个Hyperterm窗口,超级终端,配置 PB链接,从Target-Configure Remote Connection,配置 PB 链接,Eboot会向LAN发送广播包,PB接收和显示设备ID,下载 OS 镜像到板

24、子,在PB中点击Target Download/Initialize.,在设备的屏幕上你会看到,我们到哪了?,Get hardware&BSP from OEMs,Need platform customization?,Get platform&SDK from OEMs,Customize your Win CE platform,Export your SDK,Coding&Testing,Release to Manufacture,目录,介绍 Platform Builder用户界面UI目录(Catalog)and 特性(Feature)配置平台平台创建流程Build系统定制目录Ca

25、talog,PB 目录结构,环境变量,%_WINCEROOT%-Windows CE 安装的根目录通常 为C:WINCE500%_PUBLICROOT%-%_WINCEROOT%PUBLIC%_PLATROOT%-%_WINCEROOT%Platform其它在build窗口的命令提示符中使用set 可以查看当前的环境变量,包含与特定硬件平台相关的BSP文件定位在以下目录%_WINCEROOT%Platform包含以下子目录每一个目录用于描述某一特定Windows CE 平台的应用每一目录包含一个dirs文件和至少 一个特定BSP的批处理文件将你与该特定硬件平台相关的文件放入对应目录,Platf

26、orm目录,Public目录,包含与平台无关的组件和配置设置定位在以下目录%_WINCEROOT%Public包含以下子目录:模块、组件子目录 Common,Wceshellfe,Wceappsfe,IE,Servers相关配置子目录-CEBASE,SDK 目录,定位在以下目录%_WINCEROOT%SDK包含支持Platform Builder的工具Processor compilersDevelopment toolsMiscellaneous utilities,Others 目录,定位在以下目录%_WINCEROOT%OTHERS包括以下子目录:ATL:包含调试用的 ATL 头文件,库

27、和原码等DOTNET:包含.NET 可用的各处理器的二进制文件和portable.NET Compact Framework 文件MFC:包含调试用的MFC 头 文件,库和原码等 SAMPLES:包含 MFC和ATL应用例程WCETK:包含 Windows CE Test Kit(CETK)相关二进制文件,Private 目录,定位在以下目录%_WINCEROOT%PRIVATE在安装的时候必须检查选项,与 Shared Source License 项保持一致你可以装载你的产品的最新版私人代码Premium(“Almost everything”)Source 都是可用的包括的:Kernel

28、GWES componentsFilesys components,回顾Build的4个步骤,Build System概述,IDE作为客户端,通过命令行创建 build system.命令行工具使用环境变量 确认Build设置,并调用编译器和连接器命令行工具存放在:%_PUBLICROOT%COMMONOAKMISC,环境变量,重要目录%_WINCEROOT%_PublicRoot%可选的OS属性SYSGEN_AYGSHELLSYSGEN_BATTERYSYSGEN_STANDARDSHELLPlatform-Setting optionsIMGAUTOFLUSHWINCESHIPIMGRAM

29、64,原码结构,DIRSSOURCESMakeFilemakefile.def,DIRS 文件,DIRS类似工作空间“Workspace”中包含的工程“projects”列表文本文件列出了包含其它DIRS or SOURCES文件的目录列表BUILD.EXE 通过读DIRS文件确定build的内容例如:,DIRS=Eboot Drivers,SOURCES,SOURCES工程的源文件列表TARGETNAME输出目标名(非扩展)TARGETTYPEPROGRAM(.EXE)ApplicationDYNLINK(.DLL)Dynamic Link LibraryLIBRARY(.LIB)Stati

30、c library,文件结构,文本文件被包含在makefile.def,提供给目标机关于build的相关信息,有用的命令行工具,Wince.batBlddemo.batCebuild.batBuild.exeSysgen.batBuildrel.batMakeimg.exe,Wince.bat,通过3个输入参数为宿主机准备开发环境%_TGTCPU%_TGTPROJ%_TGTPLAT%例:wince x86 MYPROJ CEPC,BldDemo.bat,用来build 和生成 OS 镜像.它调用3个工具:Cebuild.bat:Build平台的模块、属性和原码 Buildrel.bat:为平台

31、拷贝文件到release目录下,它是生成二进制镜像的工具Makeimg.exe:产生OS镜像,Build.exe,用来构建、创建各种项目DIRS文件定义目录结构自动监测源文件和头文件的依赖关系Windows CE Build过程的核心调用NMAKE.EXE 做真正的buildDIRS和SOURCES 决定build的内容,如何通过设置命令行来Build环境,设置环境变量Build OS镜像,示例,set _WINCEROOT=E:WINCE420set _PROJECTROOT=E:GOODWINCE420Emulatorset _FLATRELEASEDIR=E:GOODRelDirEMUL

32、ATOR_X86Releaseset _PROJPUBLICROOT=E:GOODWINCE420publiccd%_WINCEROOT%publiccommonoakmisccall wince.bat X86 GOOD EMULATORset SYSGEN_CURSOR=1set SYSGEN_CONNMC=1set SYSGEN_MENU_OVERLAP=1set SYSGEN_MSIM=1blddemo q,目录,介绍 Platform Builder用户界面UI目录(Catalog)and 特性(Feature)配置平台平台创建流程Build系统定制目录Catalog,Windows

33、 CE目录,CE目录项的数据库每项都是你所选的实时镜像中模块的组件或子模块在树型Catalog view中显示目录项列表允许使用拖拉和删除的方式选择目录中的项用于定制可通过用户或第三方扩展目录通过导入 CEC文件向目录中添加项目,CEC 文件,CECInfo 块包含CEC文件的普通信息ComponentType 块Top-level 结构描述.例,Audio Driver 可能就是一个 ComponentType(类似面向对象编程中的一个类)Implementation 块描述ComponentType的具体实现(类似面向对象编程中的目标实体)BuildMethod 块描述项目定位的原码位置,

34、CEC编辑器介绍,CEC编辑器它是Tools菜单下的一个工具项,通过它你可以生成、编辑.cec文件。,定制 CEC文件步骤:,生成目录属性文件添加一个执行(Implementation)添加一个Build方法(Method)添加一个二进制信息(BIB Information)为目录添加属性,作业,要求:按照学号尾号为索引,使用Windows CE构建下列平台:0:智能手机1:数码相机/数码摄像机2:家用音响3:手持游戏机(类似于GBA)4:网络视频电话终端5:超市付款结算终端6:ATM自动取款机7:IPOD MP38:空调9:“小霸王”学习机提交文档:projectname.pbw,projectname.wce,projectname_setenv.bat与Word文档报告报告内容:平台名称:选择的组件列表,选择这些组件的功能,选择这些组件的原因。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号