|
为何调试器在启动过程中,会报告 “Attempt to force the processor to enter debug state failed -execution continues” 错误? |
|
调试器在启动过程中,会通过 FoxICE仿真器强制停止当前 ARM 处理器的运行。如果在特定的时间内, ARM 处理没有停止运行并进入调试状态,调试器将报告如上的错误。可能引起此类错误的原因有:
|
|
JTAG 时钟频率太高。用户需要在 Fox Console 中把 TCK 频率调低。
|
|
用户指定的 ARM 处理器的类型不正确。如果目标板上还有其他芯片的 JTAG 链与 ARM 处理器的 JTAG 链级联,请在 Fox Console 中检查“ Multiple Devices ”的配置是否正确。进入路径为“ Config | FoxICE config… | Multiple Devices ”,检查所设置的 ARM 处理器之前 / 之后的“ Device numbers ”、“ IR Lengths ”是否与实际情况一致。
|
|
处理器可能一直处于复位状态,或者未被正确复位。
|
|
部分包含 ARM 内核的处理器,其 JTAG 引脚有多种用途:既用于调试,也用于边界扫描测试。对于使用这类处理器的目标板,用户需要检查板上控制 JTAG 引脚功能的跳线 / 开关,是否设置到使能 JTAG 调试的位置。
|
|
处理器的 DBGEN 为低(高有效),处理器根本就未处理 DBGRQ 请求。
|
|
处理器的 memory 控制器使能了 nWAIT 或 BWAIT 及 HWAIT 信号,当前指令发出的读写操作始终不能完成;或者是处理器时钟停止了。这种情况下, ARM 器内核始终无法完成当前指令,无法进入调试状态。
JTAG 信号质量不好,最可能发生问题的是 TCK 信号。可能 PCB 板设计或布线时存在问题。 |
|
|