通过JTAG 接口,debug ARM Cortex-A7平台时:
JTAG tool与CPU Core连接后,通过halt命令,会让CPU停下来?
这是如何做到的?会做一些CoreSight相关register设置吗?
按我的理解:
当我们设置Software breakpoint / Hardware breakpoint时,才会做一些register设置。
通过JTAG 接口,debug ARM Cortex-A7平台时:
JTAG tool与CPU Core连接后,通过halt命令,会让CPU停下来?
这是如何做到的?会做一些CoreSight相关register设置吗?
按我的理解:
当我们设置Software breakpoint / Hardware breakpoint时,才会做一些register设置。
在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 章节