当我使用 JTAG 将 C 代码加载到评估板时,它加载成功。但是,当我从 main() 执行代码时,我立即收到“CPU 未停止”错误,然后是“未找到 APB-AP”错误。
在出现此错误之前,我能够加载并执行 USB 相关代码。
我用谷歌搜索它并使用JTAG命令“rx 0”来重置目标,但它没有做出任何改变。
我使用的是 ARM Cortex-M3 处理器、J-Link ARM V4.14d、IAR 嵌入式工作台 IDE。
感谢您的帮助。
最佳答案
一种可能性:看门狗
如果您的硬件有看门狗,那么您必须确保当 JTAG 想要停止 CPU 时它不会重置 CPU。如果看门狗重置 CPU,您通常会收到您所描述的“CPU 未停止”类型的错误。
如果 CPU 有内部看门狗电路,在某些 CPU 上,当 JTAG 停止 CPU 时,它会自动“暂停”。但在其他情况下,这种情况不会发生,您需要确保在进行 JTAG 调试时禁用看门狗。
如果您的电路有一个位于 CPU 外部的看门狗电路,那么通常您需要能够以某种方式禁用它(通常硬件设计人员会在板上提供某种开关/跳线来执行此操作)。
关于arm - "CPU is not halted"和 "No APB-AP found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3638312/