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