潮声隔雨深 · 2020年01月02日

JTAG工具如何让CPU停下来?

通过JTAG 接口,debug ARM Cortex-A7平台时:

JTAG tool与CPU Core连接后,通过halt命令,会让CPU停下来?

这是如何做到的?会做一些CoreSight相关register设置吗?

按我的理解:

当我们设置Software breakpoint / Hardware breakpoint时,才会做一些register设置。

1 个回答 得票排序 · 时间排序
一知半解 · 2020年01月02日

在JTAG debug中debugging tools通过 CoreSight 的register进行设置来trigger 各种控制事件

具体关于让A7 CPU停下来,进入debug mode, debugging tools 需要设置CoreSight 的 Embedded Cross Trigger (ETC) 相关的register

可以设置 Debug Status and Control Register中 DBGDSCR.InstrCompl_l 的这个bit 为 1 来让CPU 进入 halt debug mode,

硬件方面 会通过 Cross Trigger Interface 触发DBGTRIGGER 信号,让CPU halt

详细信息请参见:

《Cortex™ -A7 MPCore Integration Manual》 的CoreSight Debug Interface 章节

你的回答