13.8.1. Behavior of the PC in Debug state

In Debug state:

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

Table 13.17. Read PC value after Debug state entry

Debug eventARMThumbReturn address (RA[1]) meaning
BreakpointRA+8RA+4Breakpointed instruction address
WatchpointRA+8RA+4Address of the instruction where the execution resumes (several instructions after the one that hit the watchpoint)
BKPT instructionRA+8RA+4BKPT instruction address
Vector catchRA+8RA+4Vector address
External debug request signal activationRA+8RA+4Address of the instruction where the execution resumes
Debug state entry request commandRA+8RA+4Address of the instruction where the execution resumes

[1] This is the address of the instruction that the processor first executes on Debug state exit. Watchpoints can be imprecise. RA is not the address of the instruction after the one that hit the watchpoint, the processor might stop a number of instructions later. The address (offset by 0x8 for ARM state and 0x4 for Thumb state) of the instruction that hit the watchpoint is in the CP15 WFAR.

Copyright ©  2005-2007 ARM Limited. All rights reserved.ARM DDI 0338G
Non-Confidential