打印

在进行jtag单步调试时,cm3内部发生了什么?

[复制链接]
552|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
robinszh|  楼主 | 2018-12-4 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大神一个问题:JTAG在进行单步调试时,为什么CM3可以执行一条指令后就立刻停止?实现原理是什么?按理说PC应该一直累加或者根据跳转指令改写PC啊,是进入中断进行等待了么?系统异常里面有一个调试监控的向量,是专门为JTAG单步用的么?

相关帖子

沙发
robinszh|  楼主 | 2018-12-12 11:02 | 只看该作者
大致搞清楚了,cortex-m3分为两种调试方式,一个为暂停,一个为调试监控异常;暂停的方式是在SCS空间拉高一个寄存器位,会导致执行阶段stall,从而导致整个CPU暂停,猜测JTAG就是通过改写该寄存器位的值,来控制执行和暂停;第二个是调试监控异常,这种方式就是进入异常处理了;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝