嵌入式实时操作系统嵌入式系统软件的开发.ppt
《嵌入式实时操作系统嵌入式系统软件的开发.ppt》由会员分享,可在线阅读,更多相关《嵌入式实时操作系统嵌入式系统软件的开发.ppt(107页珍藏版)》请在三一办公上搜索。
1、PART2 嵌入式实时操作系统第8讲 嵌入式系统软件的开发,1,主要内容,嵌入式软件开发工具嵌入式系统开发模式实时软件分析设计方法,第一节嵌入式软件开发工具,嵌入式软件开发工具的分类嵌入式软件的交叉开发环境嵌入式软件实现阶段的开发过程嵌入式软件开发工具的发展趋势,嵌入式软件开发工具,“工欲善其事,必先利其器”嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。,嵌入式软件开发工具的分类,嵌入式软件开发阶段,需求分析(Requirement Analysis),设计(Software Design),编码(Coding),测试(Test),发布、维护(Release),嵌入式软件
2、开发工具的分类,根据不同的阶段,嵌入式软件开发工具可以分为:需求分析工具(Requirement Analysis Tools)软件设计工具(Software Design Tools)编码、调试工具(Coding Tools)测试工具(Testing Tools)配置管理工具、维护工具等,主要嵌入式软件开发工具产品,主流嵌入式编译器:KEIL、CodeWarrior、IAR、GNU、CADUL.等,嵌入式软件类型,围绕开发类型来选择嵌入式软件开发工具:测试、调试类软件:编写简单的板级测试软件,主要是辅助硬件的调试 驱动:开发基本的驱动程序 系统支持软件:开发特定嵌入式操作系统的驱动程序(板级
3、支持包)嵌入式操作系统:内核及其他系统软件应用软件,嵌入式软件的交叉开发环境,交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括:文本编辑器交叉编译器交叉调试器仿真器下载器等交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。,交叉开发环境,目标机硬件,目标机应用系统,应用软件,应用中间件,目标机,OS,宿主机硬件,宿主机,OS,调,试,代,理,运,行,库,宿主机开发环境,编辑,编译,连接,调试,运行平台,Target,开发平台,Host,DownLoad,嵌入式软件的交叉开发环境,宿主机(Host):是用于开发嵌入式系统的计算机。一般为PC机(
4、或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。,嵌入式软件的交叉开发环境,物理连接和逻辑连接 物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种:串口以太口OCD(On Chip Debug)方式,如JTAG、BDM等物理连接是逻辑连接的基础。逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议
5、的标准。,嵌入式软件实现阶段的开发过程,设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行。软件的生成主要是在宿主机上进行,利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程序。调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。,嵌入式软件生成阶段,三个过程源代码程序的编写编译成各个目标模块链接成可供下载调试或固化的目标程序,编辑器,交叉编译器,交叉链接器,源程序,目标模块,可供调试/固化,库文件
6、,交叉编译,把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。,嵌入式软件的调试,交叉调试器是指调试程序和被调试程序运行在不同机器上的调试器调试器通过某种方式能控制目标机上被调试程序的运行方式通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等,嵌入式软件的调试,交叉调试方式 Crash and Burn Rom Monitor Rom Emulator In Circuit Emulator On Chip DebuggingSimulator方式(非交叉),Crash and Burn,最早的
7、嵌入式应用软件调试方法。,在宿主机上编写代码,反复检查代码,直到编译通过,生成可执行程序,将程序固化(Burn)到目标机的非易失性存储器(E2PROM、FLASH等)中,在宿主机上反复检查码,查找问题根源,改写代码,启动目标机运行,观察程序是否正常工作,N,Y,结束,ROM Monitor,ROM Monitor是被固化且运行在目标机上的一段程序,负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对应用程序的调试。调试器与ROM Monitor之间的通信遵循远程调试协议。,ROM Monitor调试方式,调试器Windows或其它桌面操作系统PC机等硬件,嵌入式硬件,监控程序(ROM
8、 Monitor),被调试程序,宿主机,目标机,逻辑上的连接,物理上的连接,ROM Monitor,在目标机上电或复位后首先执行的就是ROM Monitor,它对目标机进行一些必要的初始化初始化要求的外围设备,如最基本的串口和用于内存刷新的系统计时器芯片;初始化用于下载映像的内存系统;初始化中断控制器和安装中断处理程序。初始化自己的程序空间等待宿主机端的命令,ROM Monitor,ROM Monitor能配合调试器完成:程序映像下载对目标机系统内存的读写对寄存器的读写设置和清除不同类型的断点单步执行指令复位系统等调试功能,ROM Monitor,调试过程(1)启动目标机,监控器掌握对目标机的
9、控制,等待和调试器建立连接;(2)启动调试器,并和监控器建立起通信连接;(3)使用调试器将应用程序下载到目标机上的RAM空间中;(4)使用调试器进行调试,发出各种调试命令,监控器解释并执行这些命令,通过目标机上的各种异常来获取对目标机的控制,将命令执行结果回传给调试器;(5)如果程序有问题,在调试器的帮助下定位错误;修改之后再重新编译链接并下载程序,开始新的调试,如此反复直至程序正确运行为止。,ROM Monitor,优点提高调试程序的效率,缩短开发周期,降低成本简单、方便可扩展性强,可支持许多高级调试功能成本低廉,不需专门的调试硬件支持几乎所有的交叉调试器都支持这种方式,ROM Monito
10、r,缺点Debug Monitor需要用Crash and Burn方法开发。当ROM Monitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。某些调试功能依赖于CPU硬件的支持(如硬件断点功能)ROM Monitor要占用目标机一定数量的资源,如CPU、RAM、ROM和通信设备等资源。调试环境不同于实际目标环境。,仿真开发方式,嵌入式应用的开发经常会遭遇缺少目标机环境、缺乏目标机芯片等资源的问题,而开发过程又不可能停止,因此自然就提出了根据不同的应用需要,利用仿真器件、仿真环境进行开发的方法。,硬件仿真开发ROM EmulatorICEOCD软件仿真开发,ROM
11、Emulator,ROM Emulator是一种用于替代目标机上的ROM芯片的设备,即ROM仿真器。利用这种设备,目标机可以没有ROM芯片,但目标机的CPU可以读取ROM Emulator设备上ROM芯片的内容:ROM Emulator设备上的ROM芯片的地址可以实时地映射到目标机的ROM地址空间,从而仿真(Emulation)目标机的ROM。,ROM Emulator,ROM Emulator的调试方式是一种不完全的调试方式:ROM Emulator设备只是为目标机提供ROM芯片和在Target和Host间建立一条高速的通信通道,因此它经常和前面两种调试方式结合起来形成一种完备的调试方式。R
12、OM Emulator的典型应用就是和ROM Monitor的调试方式相结合。,ROM Emulator,优点目标机可以没有ROM芯片、可以使用ROM Emulator提供的ROM空间且不需要用别的工具来写ROM。缺点目标机必须能支持外部ROM存储空间,而且由于其通常要和ROM Monitor配合使用,因此它拥有ROM Monitor的所有缺点。,ICE,ICE(In-Circuit Emulator)是一种用于替代目标机上CPU的设备,即在线仿真器。它比一般的CPU有更多的引出线,能够将内部的信号输出到被控制的目标机。ICE上的Memory也可以被映射到用户的程序空间,这样即使目标机不存在的
13、情形下也可以进行代码的调试。,ICE调试结构,连接ICE和目标机时,一般是将目标机的CPU取下,而将ICE的CPU引出线接到目标机的CPU插槽。用ICE进行调试时,在Host端运行的调试器通过ICE来控制目标机上运行的程序。,ICE,ICE,功能特点同时支持软断点和硬件断点的设置设置各种复杂的断点和触发器实时跟踪目标程序的运行,并可实现选择性的跟踪支持“Time Stamp”允许用户设置“Timer”提供“Shadow RAM”,能在不中断被调试程序的运行下查看内存和变量即非干扰调试查询,ICE,适用于:调试实时的应用系统调试设备驱动程序对硬件进行功能和性能的测试实时性能分析缺点:价格太昂贵,
14、不利于团队开发所仿CPU有限,OCD,OCD(On Chip Debugging)是CPU芯片提供的一种调试功能(片上调试),可以认为是一种廉价的ICE功能:OCD的价格只有ICE的20%,但提供了ICE 80%的功能。,OCD调试结构,OCD,调试方法将CPU的模式分为一般模式和调试模式一般模式下,CPU从内存读取指令执行调试模式下,CPU首先从调试端口读取指令,通过调试端口可以控制CPU进入和退出调试模式;Host端的调试器可以直接向目标机发送要执行的指令,读写目标机的内存和各种寄存器,控制目标程序的运行以及完成各种复杂的调试功能。,OCD,优点不占用目标机的资源调试环境和最终的程序运行环
15、境基本一致支持软硬断点、Trace功能精确计量程序的执行时间提供时序分析功能,OCD,缺点调试的实时性不如ICE不支持非干扰调试查询CPU必需具有OCD功能,OCD,存在各种实现BDM(Background Debugging Mode)JTAG(Joint Test Access Group)(主流方式)OnCE(On Chip Emulation),各种OCD仿真器实例,边界扫描技术(JTAG),JTAG标准测试访问接口与边界扫描结构(Standard Test Access Port and Boundary Scan Architecture),已被IEEE1149.1标准所采纳,是面
16、向用户的测试接口。该接口一般由4个引脚组成:测试数据输入(TDI)测试数据输出(TDO)测试时钟(TCK)测试模式选择引脚(TMS)异步测试复位引脚(TRST,可选),边界扫描技术(JTAG),优点可以通过边界扫描操作测试整个板的电气连接,特别为表面贴元件提供方便 各个引脚信号的采样,并可强制引脚输出用以测试外围芯片 可以软件下载、执行、调试和控制,为复杂的实时跟踪调试提供路径 可以进行多内核和多处理器的板级和芯片级的调试,通过串接,为芯片制造商提供芯片生产、测试的途径 不占用系统资源,能够调试没有外部总线的芯片,代价非常小,边界扫描技术(JTAG),缺点通过串口依次传递数据,速度比较慢 只能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 实时 操作系统 系统软件 开发
链接地址:https://www.31ppt.com/p-6414934.html