您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 8嵌入式系统软件的开发
嵌入式系统及应用第9章嵌入式系统开发第九章嵌入式系统软件的开发主要内容嵌入式软件开发工具嵌入式系统开发模式第一节嵌入式软件开发工具嵌入式软件开发工具的分类嵌入式软件的交叉开发环境嵌入式软件实现阶段的开发过程嵌入式软件开发工具的发展趋势嵌入式软件开发工具“工欲善其事,必先利其器”嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。嵌入式软件开发工具的分类嵌入式软件开发阶段嵌入式软件开发工具的分类根据不同的阶段,嵌入式软件开发工具可以分为:–需求分析工具(RequirementAnalysisTools)–软件设计工具(SoftwareDesignTools)–编码、调试工具(CodingTools)–测试工具(TestingTools)–配置管理工具、维护工具等嵌入式软件开发工具的分类嵌入式软件的开发可以分为以下几种:–编写简单的板级测试软件,主要是辅助硬件的调试–开发基本的驱动程序–开发特定嵌入式操作系统的驱动程序(板级支持包)–开发嵌入式系统软件,如:嵌入式操作系统等–开发应用软件嵌入式软件开发工具的分类从以上嵌入式软件开发分类来看,嵌入式软件开发工具可以分为:–与嵌入式OS相关的开发工具,用于开发:基于嵌入式OS的应用部分驱动程序等–与嵌入式OS无关的开发工具,用于开发:基本的驱动程序辅助硬件调试程序系统软件等嵌入式软件的交叉开发环境交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括:–文本编辑器–交叉编译器–交叉调试器–仿真器–下载器等交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。交叉开发环境目标机硬件目标机应用系统—应用软件—应用中间件—目标机OS宿主机硬件宿主机OS调试代理运行库宿主机开发环境—编辑—编译—连接—调试运行平台Target开发平台Host嵌入式软件的交叉开发环境物理连接和逻辑连接–物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种:串口以太口OCD(OnChipDebug)方式,如JTAG、BDM等–物理连接是逻辑连接的基础。–逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的标准。嵌入式软件实现阶段的开发过程设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行。–软件的生成主要是在宿主机上进行,利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程序。–调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。–固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。嵌入式软件生成阶段三个过程–源代码程序的编写–编译成各个目标模块–链接成可供下载调试或固化的目标程序编辑器交叉编译器交叉链接器源程序目标模块可供调试/固化库文件交叉调试非交叉调试调试器和被调试程序运行在不同的计算机上调试器和被调试程序运行在同一台计算机上可独立运行,无需操作系统支持需要操作系统的支持被调试程序的装载由调试器完成被调试程序的装载由专门的Loader程序完成需要通过外部通信的方式来控制被调试程序不需要通过外部通信的方式来控制被调试程序可以直接调试不同指令集的程序只能直接调试相同指令集的程序嵌入式软件的调试交叉调试方式–CrashandBurn–RomMonitor–RomEmulator–ICE(InCircuitEmulator)–OCD(OnChipDebugging)Simulator方式(非交叉)CrashandBurn最早的嵌入式应用软件调试方法。在宿主机上编写代码反复检查代码,直到编译通过,生成可执行程序将程序固化(Burn)到目标机的非易失性存储器(E2PROM、FLASH等)中在宿主机上反复检查码,查找问题根源改写代码启动目标机运行,观察程序是否正常工作NY结束ROMMonitor调试方式调试器Windows或其它桌面操作系统PC机等硬件嵌入式硬件监控程序(ROMMonitor)被调试程序宿主机目标机逻辑上的连接物理上的连接宿主开发平台目标平台ICEICE调试结构连接ICE和目标机时,一般是将目标机的CPU取下,而将ICE的CPU引出线接到目标机的CPU插槽。用ICE进行调试时,在Host端运行的调试器通过ICE来控制目标机上运行的程序。ICEOCD调试结构调试器Windows或其它桌面操作系统PC机等硬件被调试程序OCD接口嵌入式硬件宿主机目标机逻辑上的连接物理连接仿真器针形连接器并口、串口或网络接口为特定处理器而建造OCD存在各种实现•BDM(BackgroundDebuggingMode)•JTAG(JointTestAccessGroup)(主流方式)•OnCE(OnChipEmulation)各种OCD仿真器实例边界扫描技术(JTAG)JTAG——标准测试访问接口与边界扫描结构(StandardTestAccessPortandBoundaryScanArchitecture),已被IEEE1149.1标准所采纳,是面向用户的测试接口。该接口一般由4个引脚组成:–测试数据输入(TDI)–测试数据输出(TDO)–测试时钟(TCK)–测试模式选择引脚(TMS)–异步测试复位引脚(TRST,可选)JTAG控制器结构图TAPCntrollerUserRegisterBypassRegisterDecodeLogicInstructionRegisterTDITMSTCKTRSTTDODRIRSimulator交叉开发方式存在如下缺点:硬件支持必须有目标机或评估板易使用性普通编程人员不熟悉廉价性成本高可移植性、可扩展性不高团队开发较难开发周期较长Simulator一种软件仿真器,在宿主机上创建一个虚拟的目标机环境,再将应用系统下载到这个虚拟目标机上运行/调试。软件仿真的对象–仿真处理器–仿真外设–仿真环境软件仿真的级别–指令级仿真开发–API级仿真开发宿主机OS编辑:C、C++编译、链接应用仿真开发环境示意图调试目标操作系统库TOSLib应用编程接口API仿真调试代理EDA应用系统通信用户虚拟目标硬件V-Target虚拟目标环境IDE应用仿真开发环境示意图设 计编码测试运行维护下载调试固化交叉调试固化运行仿真编译仿真调试正确N仿真库编译链接Y运行库结合了仿真的软件开发过程Simulator优点最大好处就是可以不用真正的目标机,可以在目标机环境并不存在的条件下开发目标机上的应用系统,并且在调试时可以利用Host资源提供更详细的错误诊断信息。Simulator缺点1)和实际的运行环境差别很大2)设备模拟的局限性较大3)实时特性较差4)对Host的资源要求较高适用范围对时间特性没有严格要求、没有特殊外设、只需要验证逻辑正确的应用程序。第二节嵌入式系统开发模式概述处理器及硬件开发平台的选定操作系统选定开发环境选定嵌入式系统开发模式概述最大特点:软硬件综合开发。原因:1)嵌入式产品是软硬件的结合体2)软件针对硬件开发、固化,不能进行任意修改嵌入式系统开发过程系统定义时期符合要求硬件设计制作软件设计实现软硬件集成功能性能测试产品Yes系统总体设计No系统总体设计软硬件划分系统总体框架处理器选定操作系统选定开发环境选定硬件设计制作硬件概要设计硬件详细设计硬件制作硬件测试功能模块图设计逻辑电路图设计PCB设计与制作PCB测试软件设计实现软件概要设计软件详细设计软件实现软件测试软硬件协同开发通常的嵌入式系统开发软/硬件协同开发嵌入式软件开发嵌入式硬件开发嵌入式系统集成、测试、验证嵌入式软件开发嵌入式硬件开发嵌入式系统协同设计、测试、验证谢谢!
本文标题:8嵌入式系统软件的开发
链接地址:https://www.777doc.com/doc-2892748 .html