13.8.1. Behavior of the PC in debug state

In debug state:

Note

If you switch the ARM1136JF-S processor from ARM to Java state while in debug state, R[15:9] is cleared. If you want keep all processor state, you must save R5 before the switch and then restore the saved value of R5 when the processor is in Java state.

Table 13.33 shows the read PC value after debug state entry for different debug events.

Table 13.33. Read PC value after debug state entry

Debug eventARMThumbJavaReturn address (RA[1]) meaning
BreakpointRA+8RA+4RABreakpointed instruction address
WatchpointRA+8RA+4RAAddress of the instruction where the execution resumes (several instructions after the one that hit the watchpoint)[2]
BKPT instructionRA+8RA+4RABKPT instruction address
Vector catchRA+8RA+4RAVector address
EDBGRQ signal activationRA+8RA+4RAAddress of the instruction where the execution resumes
Debug state entry request commandRA+8RA+4RAAddress of the instruction where the execution resumes

[1] This is the address of the first instruction the processor must executes on debug state exit.

[2] With the ARM1136JF-S processor, watchpoints are imprecise. RA might not be the address of the instruction that follows the one that hit the watchpoint, because the processor might stop a number of instructions later. The address of the instruction that hit the watchpoint is in the CP15 WFAR.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DDI 0211I
Non-Confidential