在調(diào)試器中報(bào)告錯(cuò)誤信息, Fatal Error: The processor failed to re-enter debug state after a system speed access 。
調(diào)試器讀寫(xiě)目標(biāo)板上的 memory ,或者下載執(zhí)行程序到目標(biāo)板的過(guò)程中, FoxICE 控制 ARM 內(nèi)核以系統(tǒng)正常運(yùn)行的速度訪問(wèn)目標(biāo)板上的 memory 。正常情況下, ARM 內(nèi)核在開(kāi)始讀寫(xiě) memory 時(shí),臨時(shí)退出調(diào)試狀態(tài),完成 memory 訪問(wèn)后,應(yīng)該自動(dòng)重新回到調(diào)試狀態(tài)。如果 FoxICE仿真器 檢測(cè)到 ARM 內(nèi)核在特定時(shí)間內(nèi)沒(méi)有回到調(diào)試狀態(tài),則會(huì)報(bào)告如上錯(cuò)誤。
導(dǎo)致 ARM 內(nèi)核不能重新回到調(diào)試狀態(tài)的原因,有以下幾種:
• 內(nèi)核在執(zhí)行 memory 讀寫(xiě)的過(guò)程中被復(fù)位。
• 內(nèi)核的時(shí)鐘停止了。
• Memory 控制器發(fā)出了 stall 信號(hào): BWAIT 為高,或者 HREADY/nWAIT 為低。
• 內(nèi)核的時(shí)鐘頻率比 TCK 的頻率慢很多。
• JTAG 信號(hào),特別是 TCK 信號(hào)質(zhì)量不好。
• Memory 讀寫(xiě)過(guò)程中發(fā)生 data abort 異常,而在異常矢量處,沒(méi)有 memory 可讀寫(xiě),導(dǎo)致發(fā)生 data abort 嵌套。