处理器的调试接口

1. 简介

​ 在 Cortex M 中对处理器上对 总线逻辑的控制 使用另外的总线接口,即所谓的 “调试访问端口(DAP)”。把 JTAG 或串行线协议 都转换成 DAP 总线接口协议,再控制 DAP 来执行调试动作。

​ 在 Cortex M 处理器内核中,实际的调试功能由 NVIC 和若干调试组件来协作完成。调试组件包括 FPB、DWT、ITM 等。NVIC 中有一些寄存器用于控制内核的调试动作,如单步、停机;其他的一些功能则控制观察点、断点,以及调试信息的输出等。

​ 就目前来看,Cortex M 支持两种调试主机接口(debug host interface):第一个是广为使用的 JTAG 接口,另一个则是新的 “串行线(Serial Wire ,SW)调试接口”。SW 接口对信号线的需求只有两条。ARM 还提供了若干种调试主机接口模块(称为 “调试接口” DP)。__DP 充当处理器与调试器的中介:它的一端连接到调试器上,另一端则连接到 CM3 的 DAP 接口上 __。

2. DP 、AP 、DAP

  • DP 模块,整个调试系统的最外层模块,该模块对外定义出实际的调试端协议,如 SWD、JTAG 等协议,将 SWD 与 JTAG 协议转换为调试总线信号

  • DAP ,充当 DP 与 AP 的中间人,将 DP 的调试总线信号转给 AP。DAP 总线上的地址是32位的,高 8 位用于选择哪一个 AP 设备,在 Cortex M3 中只用掉了一个设备的地址(AHB-AP)

  • AP 设备,相当于一个总线桥,用于把 DAP 总线的命令转换为 AHB 总线上的数据传送,再插入到总线网络上

  • 外部调试器到 CM3 调试接口的连接,需要多级互联才能完成。

综上:

  • 第一步,通过 DP 接口模块(通常是 SWJ-DP 或 SW-DP),先把外部信号转换成一个通用的 32 位调试总线信号。SWJ-DP 支持 SW 与 JTAG 两种,而 SW-DP 则支持 SW。

  • 第二步:数据从DAP接口传递给 CM3 后,下一步就连接到了一个称为 “AHB-AP” 的 AP 设备上。这样一来, CM3 的整个寻址空间就都在覆盖范围之内了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于JTAG(Joint Test Action Group)的处理器调试软件架构的设计与实现是为了提供一种在芯片开发和调试过程中能够快速、低成本地诊断处理器硬件故障和软件错误的解决方案。以下是该软件架构的主要设计和实现特点: 1. 硬件接口设计:通过JTAG接口与目标处理器进行通信,实现对处理器内部寄存器和内存空间的读写操作。该接口同时支持处理器调试模式调用和通用控制信号的设置。 2. 调试模式设计:在处理器中嵌入调试模式,通过JTAG接口进行控制。调试模式允许以单步方式执行指令,并支持断点设置、寄存器值的读写、内存内容的读写等功能。 3. 软件驱动设计:开发调试软件的驱动程序,与硬件接口进行交互,完成对目标处理器的控制和数据访问操作。驱动程序通过JTAG接口发送调试命令和数据,同时接收处理器的状态和调试信息。 4. 调试功能实现:实现断点管理,允许用户设置断点并在断点处中断处理器执行。在断点中断后,可以查看处理器内部寄存器的当前值、栈的状态和程序计数器的值等信息,以便分析代码执行流程和变量状态。 5. 调试消息显示:提供用户界面,显示调试过程中的相关信息,例如断点触发、寄存器值变化、异常中断等。用户可以通过调试消息了解处理器执行情况和错误发生的原因。 基于JTAG的处理器调试软件架构的设计和实现,能够帮助开发者快速定位处理器硬件故障和软件错误,提高调试效率和开发周期。同时,该软件架构的可扩展性和灵活性也为未来处理器调试工作的升级和改进提供了良好的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值