嵌入式系统软件的开发(精华版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
ICE
ICE(In-Circuit Emulator)是一种用 ( ) 替代目标机上CPU的设备,即在线 的设备, 于替代目标机上 的设备 仿真器。 仿真器。 它比一般的CPU有更多的引出线,能 它比一般的 有更多的引出线, 有更多的引出线 够将内部的信号输出到被控制的目标 上的Memory也可以被映射到 机。ICE上的 上的 也可以被映射到 用户的程序空间, 用户的程序空间,这样即使目标机不 存在的情形下也可以进行代码的调试。 存在的情形下也可以进行代码的调试。
20
连接ICE和目标机时,一般是将目标机的CPU取下,而 和目标机时,一般是将目标机的 取下, 连接 和目标机时 取下 引出线接到目标机的CPU插槽。 插槽。 将ICE的CPU引出线接到目标机的 的 引出线接到目标机的 插槽 进行调试时, 端运行的调试器通过ICE来 用ICE进行调试时,在Host端运行的调试器通过 进行调试时 端运行的调试器通过 来 控制目标机上运行的程序。 控制目标机上运行的程序。
28
OCD
存在各种实现
BDM(Background Debugging Mode) ( ) JTAG(Joint Test Access Group)(主流方式) ( )(主流方式 )(主流方式) -ARM 、MIPS、PowerPC 、 OnCE(On Chip Emulation) ( )
26
OCD
优点
1) 不占用目标机的资源 2) 调试环境和最终的程序运行环境基本一致 3) 支持软硬断点、Trace功能 支持软硬断点、 功能 4) 精确计量程序的执行时间 5) 提供时序分析功能
27
OCD
缺点
1) 调试的实时性不如 调试的实时性不如ICE 2) 不支持非干扰调试查询 3) CPU必需具有 必需具有OCD功能 必需具有 功能
软件仿真开发
16
ROM Emulator
ROM Emulator是一种用于替代目标 是一种用于替代目标 是一种用于 机上的ROM芯片的设备,即ROM仿真 芯片的设备 机上的 芯片的设备, 仿真 器。 利用这种设备,目标机可以没有ROM 利用这种设备,目标机可以没有ROM 芯片,但目标机的CPU可以读取 可以读取ROM 芯片,但目标机的CPU可以读取ROM Emulator设备上 设备上ROM芯片的内容: 芯片的内容: 设备上 芯片的内容 ROM Emulator设备上的 设备上的ROM芯片的 设备上的 芯片的 地址可以实时地映射到目标机的ROM 地址可以实时地映射到目标机的 地址空间,从而仿真( 地址空间,从而仿真(Emulation) ) 目标机的ROM。 目标机的 。
第九章 嵌入式系统软件的开发
1
主要内容
嵌入式软件开发工具 嵌入式系统开发模式 实时软件分析设计方法
2
9.1 嵌入式软件开发工具
嵌入式软件开发工具的分类 嵌入式软件的交叉开发环境 嵌入式软件实现阶段的开发过程 嵌入式软件开发工具的发展趋势
3
嵌入式软件开发工具
嵌入式软件开发工具的集成度和 嵌入式软件开发工具的集成度和可用 集成度 性将直接关系到嵌入式系统的开发效 率。
缺点
1) Debug Monitor需要用 需要用Crash and Burn方法开发。 方法开发。 需要用 方法开发 2) 当ROM Monitor占用 占用CPU时,应用程序不响应外 占用 时 部的中断,因此不便调试有时间特性的程序。 部的中断,因此不便调试有时间特性的程序。 3) 某些调试功能依赖于 某些调试功能依赖于CPU硬件的支持(如硬件断点 硬件的支持( 硬件的支持 功能) 功能) 4) ROM Monitor要占用目标机一定数量的资源,如 要占用目标机一定数量的资源, 要占用目标机一定数量的资源 CPU、RAM、ROM和通信设备等资源。 和通信设备等资源。 、 、 和通信设备等资源 5) 调试环境不同于实际目标环境。 调试环境不同于实际目标环境。
22
ICE
适用于: 适用于:
1) 调试实时的应用系统 2) 调试设备驱动程序 3) 对硬件进行功能和性能的测试 4) 实时性能分析
缺点: 缺点:
1) 价格太昂贵,不利于团队开发 价格太昂贵, 2) 所仿 所仿CPU有限 有限
23
OCD
OCD(On Chip Debugging)是CPU ( ) 芯片提供的一种调试功能( 芯片提供的一种调试功能(片上调 ),可以认为是一种廉价的 可以认为是一种廉价的ICE功能: 功能: 试),可以认为是一种廉价的 功能 OCD的价格只有 的价格只有ICE的20%,但提供 的价格只有 的 , 的功能。 了ICE 80%的功能。 的功能
18
ROM Emulator
优点 目标机可以没有ROM芯片、可以使用ROM 芯片、可以使用 目标机可以没有 芯片 Emulator提供的 提供的ROM空间且不需要用别的 空间且不需要用别的 提供的 工具来写ROM。 工具来写 。 缺点 目标机必须能支持外部ROM存储空间,而 存储空间, 目标机必须能支持外部 存储空间 且由于其通常要和ROM Monitor配合使用, 配合使用, 且由于其通常要和 配合使用 因此它拥有ROM Monitor的所有缺点。 因此它拥有 的所有缺点。 的所有缺点
宿主开 发平台
目标平台
ICE
ICE调试结构 调试结构
21
ICE
功能特点
同时支持软断点和硬件断点的设置 同时支持软断点和硬件断点的设置 软断点 设置各种复杂的断点和触发器 实时跟踪目标程序的运行, 实时跟踪目标程序的运行,并可实现选择性的跟踪 支持“ 支持“Time Stamp” 允许用户设置“ 允许用户设置“Timer” 提供“ 提供“Shadow RAM”,能在不中断被调试程序的 , 运行下查看内存和变量即非干扰调试查询
17
ROM Emulator
ROM Emulator的调试方式是一种不 的调试方式是一种不 完全的调试方式: 完全的调试方式:ROM Emulator设 设 备只是为目标机提供ROM芯片和在 备只是为目标机提供 芯片和在 Target和Host间建立一条高速的通信 和 间建立一条高速的通信 通道, 通道,因此它经常和前面两种调试方 式结合起来形成一种完备的调试方式。 式结合起来形成一种完备的调试方式。 ROM Emulator的典型应用就是和 的典型应用就是和 ROM Monitor的调试方式相结合。 的调试方式相结合。 的调试方式相结合
13
ROM Monitor
优点
1) 提高调试程序的效率 ,缩短开发周期,降 缩短开发周期, 低成本 2) 简单、方便 简单、 3) 可扩展性强,可支持许多高级调试功能 可扩展性强, 4) 成本低廉,不需专门的调试硬件支持 成本低廉, 5) 几乎所有的交叉调试器都支持这种方式
14
ROM Monitor
12
ROM Monitor
调试过程
(1)启动目标机,监控器掌握对目标机的控制,等待和 )启动目标机,监控器掌握对目标机的控制, 调试器建立连接; 调试器建立连接; (2)启动调试器,并和监控器建立起通信连接; )启动调试器,并和监控器建立起通信连接; (3)使用调试器将应用程序下载到目标机上的 )使用调试器将应用程序下载到目标机上的RAM空 空 间中; 间中; (4)使用调试器进行调试,发出各种调试命令,监控 )使用调试器进行调试,发出各种调试命令, 器解释并执行这些命令, 器解释并执行这些命令,通过目标机上的各种异常来 获取对目标机的控制,将命令执行结果回传给调试器; 获取对目标机的控制,将命令执行结果回传给调试器; (5)如果程序有问题,在调试器的帮助下定位错误; )如果程序有问题,在调试器的帮助下定位错误; 修改之后再重新编译链接并下载程序,开始新的调试, 修改之后再重新编译链接并下载程序,开始新的调试, 如此反复直至程序正确运行为止。 如此反复直至程序正确运行为止。
4
9.1.1 嵌入式软件开发工具的分类
5
嵌入式软件开发阶段
嵌入式软件开发工具的分类
根据不同的阶段, 根据不同的阶段,嵌入式软件开发工 具可以分为: 具可以分为:
需求分析工具( 需求分析工具(Requirement Analysis Tools) Tools) 软件设计工具(Software Design Tools) 软件设计工具 编码、调试工具 编码、调试工具(Coding Tools) 测试工具(Testing Tools) 测试工具 配置管理工具、 配置管理工具、维护工具等
10
嵌入式软件的交叉开发环境
宿主机Host 宿主机 目标机Target 目标机
交叉开发环境
11Байду номын сангаас
嵌入式软件的交叉开发环境
宿主机( 宿主机(Host) :是用于开发嵌入式系统的计算 ) 一般为PC机 或者工作站), ),具备丰富的软 机。一般为 机(或者工作站),具备丰富的软 硬件资源,为嵌入式软件的开发提供全过程支持。 硬件资源,为嵌入式软件的开发提供全过程支持。 目标机( 目标机(Target):即所开发的嵌入式系统,是嵌 ) 即所开发的嵌入式系统, 入式软件的运行环境, 入式软件的运行环境,其硬件软件是为特定应用定 制的。 制的。 在开发过程中, 在开发过程中,目标机端需接收和执行宿主机发出 的各种命令如设置断点、读内存、写内存等, 的各种命令如设置断点、读内存、写内存等,将结 果返回给宿主机,配合宿主机各方面的工作。 果返回给宿主机,配合宿主机各方面的工作。
6
嵌入式软件开发工具的分类
7
主要嵌入式软件开发工具产品
嵌入式软件开发工具的分类
嵌入式软件的开发可以分为以下几种 :
编写简单的板级测试软件, 编写简单的板级测试软件,主要是辅助硬 板级测试软件 件的调试 开发基本的驱动程序 开发基本的驱动程序 开发特定嵌入式操作系统的驱动程序( 开发特定嵌入式操作系统的驱动程序(板 特定嵌入式操作系统的驱动程序 级支持包BSP) 级支持包 ) 开发嵌入式系统软件, 开发嵌入式系统软件,如:嵌入式操作系 系统软件 统等 开发应用软件 开发应用软件
15
仿真开发方式
嵌入式应用的开发经常会遭遇缺少目标机环 缺乏目标机芯片等资源的问题, 境、缺乏目标机芯片等资源的问题,而开发 过程又不可能停止, 过程又不可能停止,因此自然就提出了根据 不同的应用需要,利用仿真器件、 不同的应用需要,利用仿真器件、仿真环境 进行开发的方法。 进行开发的方法。
硬件仿真开发 ROM Emulator ICE OCD
8
嵌入式软件开发工具的分类
从以上嵌入式软件开发分类来看, 从以上嵌入式软件开发分类来看,嵌入 式软件开发工具可以分为 :
与嵌入式OS相关的开发工具, 与嵌入式 相关的开发工具,用于开发基 相关的开发工具 于嵌入式OS的应用和部分的驱动程序等 的应用和部分的驱动程序等。 于嵌入式 的应用和部分的驱动程序等。 与嵌入式OS无关的开发工具, 与嵌入式 无关的开发工具,用于开发基 无关的开发工具 本的驱动程序、辅助硬件调试, 本的驱动程序、辅助硬件调试,系统软件 的开发等。 的开发等。
24
OCD
并口、 并口、串口 或网络接口
为特定处理 针形连接器 器而建造
OCD调试结构 调试结构
25
OCD
调试方法 1) 将CPU的模式分为一般模式和调试模式 ) 的模式分为一般模式 的模式分为一般模式和 2) 一般模式下, CPU从内存读取指令执行 ) 一般模式下, 从内存读取指令执行 3)调试模式下,CPU首先从调试端口读取指 )调试模式下, 首先从调试端口 首先从调试端口读取指 通过调试端口可以控制CPU进入和退 令,通过调试端口可以控制 进入和退 出调试模式; 出调试模式;Host端的调试器可以直接向 端的调试器可以直接向 目标机发送要执行的指令, 目标机发送要执行的指令,读写目标机的 内存和各种寄存器, 内存和各种寄存器,控制目标程序的运行 以及完成各种复杂的调试功能。 以及完成各种复杂的调试功能。
9
9.1.2 嵌入式软件的交叉开发环境
交叉开发环境是指用于嵌入式软件开 发的所有工具软件的集合, 发的所有工具软件的集合,一般包括 文本编辑器、交叉编译器、 文本编辑器、交叉编译器、交叉调试 仿真器、下器等工具 等工具。 器、仿真器、下器等工具。 交叉开发环境由宿主机和目标机组成, 交叉开发环境由宿主机和目标机组成, 由宿主机和目标机组成 宿主机与目标机之间在物理连接的基 础上建立起逻辑连接。 础上建立起逻辑连接。
相关文档
最新文档