尝试调试STM32F205ZG时“无法阻止Cortex-M设备”错误

时间:2012-02-20 11:01:41

标签: embedded stm32 keil

我在使用μVision4和ULINK2在STM32F205ZG上运行调试器时遇到问题。我一直收到错误消息“无法阻止Cortex-M设备!请检查JTAG电缆。”我正在使用SW端口。对此的任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:2)

根据我自己的经验,当在调试会话中间断开和重新连接ULINK2时,或者如果你有一些在调试器控制之外的某个外部硬件,那么我通常会看到这个错误。处理器。

如果在调试中间断开ULINK2,那么通常为设备循环供电将解决问题。

如果你有一个像看门狗定时器那样试图在调试过程中重置处理器的东西,那么你必须先禁用看门狗才能启动调试会话。

答案 1 :(得分:2)

我的NXP uC遇到了同样的问题。

问题是加载到闪存中的代码有问题,并且将CPU置于一个繁忙的循环中,分支回到同一个地址,这阻止了调试器访问总线。

如果我将设备置于ISP模式,uLink工作正常,因为它从未进入用户代码。

似乎uLink在重置后需要很长时间才能暂停设备,规范告诉你这个地方,所以当uLink试图暂停CPU时,由于它无法访问总线并锁定,所以为时已晚。

答案 2 :(得分:0)

我在LPC4337上遇到了这个问题。我尝试了所有人们正在讨论的解决方案,但唯一适合我的解决方案是使用较低的处理器时钟,以便JTAG / SWD接口可以匹配/赶上处理器,然后再执行用户代码。在我的例子中,我将Keil uVision中的JTAG / SWD时钟设置为5至10MHz,并将处理器时钟分频更改为36MHz。通过这些设置,当我开始调试会话时,它永远不会错过在重置时捕获。

ULink2会发生这种情况,但ULINK Pro和ULINK Pro-D支持JTAG / SWD <= 50MHz。有关更多比较,请参阅此链接: ulink comparisons

答案 3 :(得分:0)

此消息的另一个问题是:

我们有相同的错误消息,但问题是 RESET 行的错误状态。