编辑: 865397499 | 2014-01-22 |
2) ROM 监控 ROM 监控是预先固化在目标机 ROM 空间中的程序,它通过执行宿主机发送的
第一章 绪论 飞思卡尔 HCS08/HCS12 系列 MCU 编程调试器的设计与实现
2 调试命令来配合调试器共同完成用户程序的调试[11] .这种方式实现简单、方便不需要 专门的硬件支持,但存在的缺点也很明显:一是需要目标机提供 ROM 芯片支持;
二 是监控程序占用 MCU 时,用户程序无法响应中断;
三是监控程序要占用目标机的资 源,如串口、网口等. 3) ROM 仿真器 ROM 仿真器是用来代替目标机上的 ROM 芯片的设备. 这种方式下由 ROM 仿真 器提供 ROM 芯片,因此可以允许目标机没有 ROM 芯片,目标机的 MCU 通过访问 ROM 仿真器来仿真 ROM 芯片. 这种方式的缺点是目标机通常要支持外部 ROM 存储 空间, 并且由于要和 ROM 监控配合使用, 因此它具有 ROM 监控所具备的所有缺点. 4) 在线仿真 ICE(In-Circuit Emulator,在线仿真器)是一种用于替换目标机上 MCU 的设备.仿 真器上的 MCU 是一种特殊的 MCU,它能够执行目标机上的 MCU 所能执行的指令, 并且它比一般的 MCU 具有更多的引出线, 能够将内部的信号输出到被控制的目标机. ICE 和目标机相连时,一般是把目标机上的 MCU 取下,将ICE 的引出线接到目标机 的MCU 的插槽.调试时,主机上的调试器通过 ICE 来控制目标机上的用户程序.这 种方式特别适用于调试一些实时应用系统、设备驱动程序以及测试硬件的功能.利用 ICE 可以非常精确地测定每条指令执行的时间,进行一些实时性能分析.但价格过于 昂贵,不便于推广[12] . 5) 片上调试 OCD(On-chip Debugging,片上调试)是MCU 提供的一种调试软件的功能,一般 来说,采用两级模式来实现:即将 MCU 的模式分为一般模式和调试模式两种.当MCU 处于调试模式时,它不再从内存读取指令而是从调试端口读指令,这样调试器 可以直接向目标机发送调试命令,完成各种调试功能.这种调试方式的优点是不占用 目标机上的资源,调试环境和程序运行的最终环境一致.其缺点是调试的实时性不如 ICE 方式强,并要求目标机的 MCU 具有 OCD 功能.OCD 存在各种实现方式,标准 也不统一,如存在 BDM、JTAG、OnCE 等多种标准,也为它的普及造成了一定的障 碍. 6) 软件仿真 通常用的软件仿真是指令级的仿真(Instruction Level Simulator),它相当于在主机 飞思卡尔 HCS08/HCS12 系列 MCU 编程调试器的设计与研究
第一章 绪论
3 上虚拟一台目标机.该目标机 MCU 可以和主机的 MCU 不同.比较高级的软件仿真 可以模拟目标机的外部设备,如I/O 设备.利用软件仿真的最大好处就是可以不用真 正的目标机,并且在调试时可以提供更详细的错误诊断信息.但也有不足之处,如与 实际运行环境差别较大以及被调试程序执行的时间特性较差等.因此,软件仿真主要 适用于对时间特性没有要求的程序或者逻辑验证程序. 1.1.2 后台调试模式应用现状 目前为众多芯片厂商采用的调试方法是片上调试. 由于各厂家具体实现方法不同, 名称也不一样,例如飞思卡尔的 BDM、IBM 的JTAG 以及德州仪器的 MPSD 等[7] . 但是实现的功能大致相同:通过相应的 OCD 接口访问目标 MCU 的存储空间、寄存 器等资源. 飞思卡尔免费发布了 BDM 调试技术的相关资料, 并在其 MCU 中广泛使用 BDM 调试技术[13-14] ,在HCS