赞
踩
在 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 接口上 __。
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 的整个寻址空间就都在覆盖范围之内了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。