2012-02-20 49 views

回答

2

根据我自己的经验,当ULINK2在调试会话过程中断开连接或重新连接时,或者如果您有一些外部硬件(在调试器的控制之外)你的处理器。

如果ULINK2在中断调试时断开连接,那么通常将电源循环至设备将解决问题。

如果您有类似于正在尝试在调试期间重置处理器的看门狗定时器的情况,那么您必须在启动调试会话之前禁用看门狗。

2

我见过与恩智浦uC相同的问题。

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

如果我将设备置于ISP模式下,uLink工作正常,因为它永远无法访问用户代码。

看起来uLink在重置后需要很长时间才能停止设备,规范会告诉你这个地方,所以到了uLink尝试暂停CPU时,它已经太迟了,因为它无法访问总线并锁定。

+0

我有类似的问题。我检查了反汇编代码,发现了以下内容。 'code' 0x00000004 0000 MOVS R0,R0 0x00000006 0000 MOVS R0,R0 0x00000008 0000 MOVS R0,R0 0X0000000A 0000 MOVS R0,R0 0x0000000C 0000 MOVS R0,R0 0x0000000E 0000 MOVS R0,R0 0x00000010 0000 MOVS R0,R0 0x00000012 0000 MOVS R0,R0 0x00000014 0000 MOVS R0,R0 0x00000016 0000 MOVS R0,R0 0x00000018 0000 MOVS R0,R0'code' – kernel 2015-10-13 09:42:58

+0

我怎样才能摆脱这一点。在上面的汇编代码中,我只是为不同的端口启用GPIO时钟。 我正在使用STM32F429控制器 – kernel 2015-10-13 09:45:02

0

我在LPC4337上有这个问题。我尝试了所有人们都在谈论的解决方案,但唯一对我有用的解决方案是使用较低的处理器时钟,以便JTAG/SWD接口在处理器执行用户代码之前可以匹配/追赶处理器。在我的情况下,我将Keil uVision中的JTAG/SWD时钟设置为5至10MHz,处理器时钟除数的变化为36MHz。有了这些设置,当我开始调试会话时,它绝对不会错过捕获复位。

这发生在ULink2上,但ULINK Pro和ULINK Pro-D支持JTAG/SWD < = 50MHz。请参阅此链接更多的比较: ulink comparisons

0

只是一个其他问题与此消息:

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

相关问题