Core Debug
10-2
Copyright © 2005-2008 ARM Limited. All rights reserved.
ARM DDI 0337G
Non-Confidential
Unrestricted Access
10.1
About core debug
Core debug is accessed through the core debug registers. Debug access to these registers
is by means of the
Advanced High-performance Bus
(AHB-AP) port, see
AHB-AP
on
page 11-39. The processor can access these registers directly over the internal
Private
Peripheral Bus
(PPB).
Table 10-1 shows the core debug registers.
The Debug Fault Status Register is also used for debug purposes. See
Debug Fault
Status Register
on page 8-38 for more information.
Core debug is an optional component. If core debug is removed then halt mode
debugging is not supported, therefore there is no halt, stepping, or register transfer
functionality. Debug monitor mode is still supported.
10.1.1
Halt mode debugging
The debugger can halt the core by setting the
C_DEBUGEN
and
C_HALT
bits of the
Debug Halting Control and Status Register. The core acknowledges when halted by
setting the
S_HALT
bit of the Debug Halting Control and Status Register.
The core can be single stepped by halting the core, setting the
C_STEP
bit to 1, and
then clearing the
C_HALT
bit to 0. The core acknowledges completion of the step and
re-halt by setting the
S_HALT
bit of the Debug Halting Control and Status Register.
10.1.2
Exiting core debug
The core can exit Halting debug by clearing the
C_DEBUGEN
bit in the Debug Halting
and Status Register.
Table 10-1 Core debug registers
Address
Type
Reset Value
Description
0xE000EDF0
Read/Write
0x00000000
a
a. Bits 5, 3, 2, 1, 0 are reset by
PORESETn
. Bit [1] is also reset by
SYSRESETn
and writing a 1
to the
VECTRESET
bit of the Application Interrupt and Reset Control Register.
Debug Halting Control and Status Register
0xE000EDF4
Write-only
-
Debug Core Register Selector Register
0xE000EDF8
Read/Write
-
Debug Core Register Data Register
0xE000EDFC
Read/Write
0x00000000
b
b. Bits 16,17,18,19 are also reset by
SYSRESETn
and writing a 1 to the
VECTRESET
bit of the
Application Interrupt and Reset Control Register.
Debug Exception and Monitor Control Register.