当我使用JTAG将我的C代码加载到评估板时,它会成功加载。但是,当我从main()执行我的代码时,我立即得到“CPU没有停止”错误,然后是“No APB-AP found”错误。
在我收到此错误之前,我能够加载并执行与USB相关的代码。
我用Google搜索并使用JTAG命令“rx 0”来重置目标,但它没有做任何更改。
我正在使用ARM Cortex-M3处理器,J-Link ARM V4.14d,IAR Embedded工作台IDE。
感谢您的帮助。
答案 0 :(得分:3)
一种可能性:看门狗
如果您的硬件有看门狗,那么当JTAG想要停止它时,您必须确保它不会复位CPU。如果看门狗重置CPU,您通常会得到所描述的“CPU未停止”类型的错误。
如果CPU具有内部看门狗电路,则在某些CPU上,当JTAG停止CPU时,它会自动“暂停”。但在其他情况下,这种情况不会发生,您需要确保在执行JTAG调试时禁用看门狗。
如果您的电路具有CPU外部的看门狗电路,那么通常您需要能够以某种方式禁用它(通常硬件设计人员会在电路板上提供某种类型的开关/跳线)。
答案 1 :(得分:0)
你是否正在重复使用jtag线作为gpio线并破坏jtags与芯片通信的能力?我这样做了一块stellaris板。
答案 2 :(得分:0)
确保代码中包含以下行:
WatchdogStallEnable(WATCHDOG0_BASE); //当CPU停止时停止看门狗