The target did not respond to the break request. Possible reasons are:
- Target is in secure mode, and debugging in secure mode is not possible. The message (secure) is displayed in this case in the status line.
- Processor stall. See below.
- The processor is in power saving mode
- In SMP, not all cores are accessible: retry after CORE.ASSIGN 1 or CORE.ASSIGN 2
- Core has no power or is in reset
- If the message running (reset) appears, then it might be that the power supply does not deliver enough power.
Processor Stall
The target does not respond. Typical example: the target accessed a non-defined address, which causes a bus stall.
ETM Trace
If the problem can be reproduced, then perform the following steps:
- set-up the trace (on-chip / off-chip)
- Execute Trace.Arm
- Reproduce the problem
- Execute Trace.OFF
- Check the Trace.List window starting from the end
If the problem cannot be reproduced (e.g. sporadic problem):
- Execute Trace.Arm (if trace is not already armed).
- Execute Trace.OFF
- Check the end of the Trace.List window
In case of CPU crash/stall, the memory to decode the trace might be not accessible. Load in this case the application to the VM: (e.g. Data.LOAD.Elf MyFile.elf VM:0) and set Trace.ACCESS VM in order to get results in the Trace.List window.
Sample the program counter with the SNOOPer
Use the SNOOPer to have an idea around which address the target is executing
SNOOPer.Mode PC
SNOOPer.Arm
; wait a couple of seconds
SNOOPer.OFF
SNOOPer.List
If the PC is changing in the SNOOPer.List window then the processor is not stalled.
If the PC stuck at a single address:
- If this address corresponds to an idle loop, then this is not an error
- Otherwise, the processor is most probably stuck around this address. Check your code based on the PC value. Please note however that the program counter address sampled by the SNOOPer is not necessarily in this case the same address which caused the processor stall.
Add a comment