Debug
ARM DDI 0363G
Copyright © 2006-2011 ARM Limited. All rights reserved.
12-17
ID073015
Non-Confidential
To use the Debug Status and Control Register, read or write CP14 c1 with:
[8]
Sticky Undefined
Sticky Undefined bit:
0 = no Undefined Instruction exception occurred in debug state since the last time this bit
was cleared
1 = an Undefined Instruction exception occurred while in debug state since the last time
this bit was cleared.
This flag detects Undefined Instruction exceptions generated by instructions issued to the
processor through the DBGITR. This bit is set to 1 when an Undefined Instruction
exception occurs while the processor is in debug state and is cleared by writing a 1 to
DBGDRCR[2].
[7]
Sticky
asynchronous
abort
Sticky asynchronous Data Abort bit:
0 = no asynchronous Data Aborts occurred since the last time this bit was cleared
1 = an asynchronous Data Abort occurred since the last time this bit was cleared.
This flag detects asynchronous Data Aborts triggered by instructions issued to the
processor through the DBGITR. This bit is set to 1 when an asynchronous Data Abort
occurs while the processor is in debug state and is cleared by writing a 1 to DBGDRCR[2].
[6]
Sticky
synchronous
abort
Sticky synchronous Data Abort bit:
0 = no synchronous Data Abort occurred since the last time this bit was cleared
1 = a synchronous Data Abort occurred since the last time this bit was cleared.
This flag detects synchronous Data Aborts generated by instructions issued to the
processor through the DBGITR. This bit is set to 1 when a synchronous Data Abort occurs
while the processor is in debug state and is cleared by writing to the DBGDRCR[2].
[5:2]
MOE
Method of entry bits:
b0000 = a
DBGDRCR[0]
halting debug event occurred
b0001 = a breakpoint occurred
b0100 = an
EDBGRQ
halting debug event occurred
b0011 = a BKPT instruction occurred
b1010 = a synchronous watchpoint occurred
others = 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 check the value of the CP15 Fault Status
Register to determine whether a debug exception occurred and then use these bits to
determine the specific debug event.
[1]
a
Core restarted
Core restarted bit:
0 = the processor is exiting debug state
1 = the processor has exited debug state. This is the reset value.
The debugger can poll this bit to determine when the processor responds to a request to
leave debug state.
Core halted
Core halted bit:
0 = the processor is in normal state. This is the reset value.
1 = the processor is in debug state.
The debugger can poll this bit to determine when the processor has entered debug state.
a. These bits always reflect the status of the processor, therefore they only have a reset value if the particular reset event affects
the processor. For example, a
PRESETDBGn
event leaves these bits unchanged and a processor reset event such as
nSYSPORESET
sets DBGDSCR[18] to a 0 and DBGDSCR[1:0] to 10.
Table 12-10 DBGDSCR Register bit assignments (continued)
Bits
Name
Function