Debug
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
13-11
ID012310
Non-Confidential, Unrestricted Access
Bits [5:2] are set to indicate:
•
the reason for jumping to the Prefetch or Data Abort vector
•
the reason for entering Debug state.
A prefetch abort or data abort handler determines if it must jump to the debug monitor target by
examining the IFSR or DFSR respectively. A DBGTAP debugger or debug monitor target can
determine the specific debug event that caused the Debug state or debug exception entry by
examining DSCR[5:2].
13.3.4
CP14 c5, Data Transfer Registers (DTR)
This register consists of two separate physical registers:
•
the rDTR, Read Data Transfer Register
•
the wDTR, Write Data Transfer Register.
[5:2]
RW
R
b0000
Method of debug entry bits:
b0000 = a Halt DBGTAP instruction occurred
b0001 = a breakpoint occurred
b0010 = a watchpoint occurred
b0011 = a BKPT instruction occurred
b0100 = an
EDBGRQ
signal activation occurred
b0101 = a vector catch occurred
b0110 = reserved
b0111 = reserved
b1xxx = reserved.
These bits are set to indicate any of:
•
the cause of a Debug Exception
•
the cause for entering Debug state
A Prefetch Abort or Data Abort handler must first check the IFSR or
DFSR register to determine a debug exception has occurred before
checking the DSCR to find the cause. These bits are not set on any
events in Debug state.
[1]
R
R
1
Core restarted bit:
0 = the processor is exiting Debug state
1 = the processor has exited Debug state.
The DBGTAP debugger can poll this bit to determine when the
processor has exited Debug state. See
Debug state
on page 13-37 for
a definition of Debug state.
[0]
R
R
0
Core halted bit:
0 = the processor is in normal state
1 = the processor is in Debug state.
The DBGTAP debugger can poll this bit to determine when the
processor has entered Debug state. See
Debug state
on page 13-37 for
a definition of Debug state.
a. Bits DSCR[11:10] can be controlled by a DBGTAP debugger to execute code in normal state as part of the debugging process.
For example, if the DBGTAP debugger has to execute an OS service to bring a page from disk into memory, and then return
to the application to see the effect this change of state produces, it is undesirable that interrupts are serviced during execution
of this routine.
Table 13-4 Debug Status and Control Register bit field definitions (continued)
Bits
Core view
External
view
Reset
value
Description