硬件调试方式介绍

1.1 ROM Monitor

ROM Monitor是被固化且运行在目标机上的一段程序,负责监控目标机上被调试的程序的运行,与宿主机端的调试器一起完成对应用程序的调试。

调试器与ROM Monitor之间的通信遵循远程调试协议。

宿主机 调试器

目标机 监控程序和被调试程序

在目标机上电或复位后首先执行的就是 ROM Monitor,它对目标机进行一些必要的初始化,如最基本的串口和用于 内存刷新的系统计时器芯片;

初始化用于下载映像的内存系统;初始化中断控制器和安装中断处理程序。

初始化自己的程序空间 等待宿主机端的命令

ROM Monitor能配合调试器完成:程序映像下载,对目标机系统内存的读写,对寄存器的读写,设置和清除不同类型的断点,单步执行指令,复位系统等调试功能

ROMMonitor调试过程

(1) 目标机上监控器掌握对目标机的控制,等待和调试器建立连接;

(2) 启动调试器,并和监控器建立起通信连接;

(3) 使用调试器将应用程序下载到目标机上的RAM空间中;

(4) 使用调试器进行调试,发出各种调试命令,监控器解释并执行这些命令,通过目标机上的各种异常来 获取对目标机的控制,将命令执行结果回传给调试器;

(5) 如果程序有问题,在调试器的帮助下定位错误,修改之后再重新编译链接并下载程序,开始新的调试, 如此反复直至程序正确运行为止。

ROM Monitor

优点

1) 提高调试程序的效率 ,缩短开发周期,

降低成本

2) 简单、方便 3) 可扩展性强,可支持许多高级调试功能 4) 成本低廉,不需

缺点

DebugMonitor需要用Crashand Burn方法开发。 当ROMMonitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。 某些调试功能依赖于CPU硬件的支持(如硬件断点功能)ROM Monitor要占用目标机一定数量的资源,如CPU、RAM、ROM和通信设备等资源。 调试环境不同于实际目标环境。

1.2 ROM Emulator

ROM Emulator是一种用于替代目标机上的ROM芯片的设备,即ROM仿真器。利用

这种设备,目标机可以没有ROM芯片,但目标机的CPU可以读取ROM Emulator设备上

ROM芯片的内容:ROM Emulator设备上的ROM芯片的地址可以实时地映射到目标机的

ROM地址空间,从而仿真(Emulation) 目标机的ROM。

ROM Emulator的调试方式是一种不完全的调试方式:ROMEmulator设备只是为目标机提供ROM芯片和在Target和Host间建立一条高速的通信通道,因此它经常和前

面两种调试方式结合起来形成一种完备的调试方式。ROM Emulator的典型应用就是和 ROMMonitor的调试方式相结合。

优点:目标机可以没有ROM芯片、可以使用ROM Emulator提供的ROM空间且不需要

用别的工具来写ROM。

缺点:目标机必须能支持外部ROM存储空间,而且由于其通常要和ROMMonitor配合使用, 因此它拥有ROMMonitor的所有缺点。

1.3 In-Circuit Emulator(ICE)

ICE是一种用于替代目标机上CPU的设备,即在线仿真器。 它比一般的CPU有更多的引出线,能够将内部的信号输出到被控制的目标机。

ICE上的Memory也可以被映射到用户的程序空间,这样即使目标机不存在的情形下也

可以进行代码的调试。

连接ICE和目标机时,一般是将目标机的CPU 取下,而将ICE的CPU引出线接到目

标机的 CPU插槽.用ICE进行调试时,在Host端运行的调试器通过ICE来控制目标机上运行的程序。

功能特点

同时支持软断点和硬件断点的设置 设置各种复杂的断点和触发器 实时跟踪目标程序的运行,并可实现选择性的跟踪支持“Time Stamp”,允许用户设置“Timer”.提供“Shadow RAM”,能在不中断被调试程序 的运行下查看内存和变量即非干扰调试查询

缺点:

价格太昂贵,不利于团队开发 所仿CPU有限.

1.4 In-Circuit Debugger(ICD)

主流的是JTAG调试,JTAG标准所采用的是主要技术是边界扫描技术。基本思想是靠近芯片的输入输出管脚上增加一个移位寄存器单元。

该接口一般由5个引脚组成:

测试数据输入(TDI)

测试数据输出(TDO)

测试时钟(TCK)

测试模式选择引脚(TMS)

异步测试复位引脚(TRST可选)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值