Debug
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
13-50
ID012310
Non-Confidential, Unrestricted Access
13.15 Halting debug-mode debugging
Halting debug-mode is used to debug the processor using external hardware connected to the
DBGTAP. The external hardware provides an interface to a DBGTAP debugger application. You
can only select Halting debug-mode by setting the halt bit, bit [14], of the DSCR. You can only
write to it through the Debug Test Access Port. See Chapter 14
Debug Test Access Port
.
In Halting debug-mode the processor stops executing instructions and enters Debug state if one
of the following events occurs:
•
a breakpoint hits
•
a watchpoint hits
•
a BKPT instruction is executed
•
the
EDBGRQ
signal is asserted
•
a Halt instruction has been scanned into the DBGTAP instruction register
•
an vector catch occurs.
When the processor is in Debug state, you control it by sending instructions to the integer core
through the DBGTAP. This enables you to scan any valid instruction into the processor. The
effect of the instruction on the integer core is as if it was executed under normal operation. A
register to transfer data between CP14 and the DBGTAP debugger is also accessible through the
DBGTAP.
A DBGTAP Restart instruction restarts the integer core.
13.15.1 Entering Debug state
When a debug event occurs and Halting debug-mode is selected and enabled and the core is in
a state when debug is permitted then the processor enters Debug state as defined in
Debug state
on page 13-37.When the core is in Debug state, the DBGTAP debugger can determine and
modify the processor state and new debug events can be programmed.
13.15.2 Exiting Debug state
You can force the processor out of Debug state using the DBGTAP Restart instruction. See
Exiting Debug state
on page 14-5. The DSCR[1] core restarted bit indicates if the core has
already returned to normal operation.
13.15.3 Programming debug events
The following sections describe operations you require for Halting debug-mode debugging :
•
Setting breakpoints, watchpoints, and vector catch debug events
•
Setting software breakpoints (BKPT)
on page 13-51.
Setting breakpoints, watchpoints, and vector catch debug events
For setting breakpoints, watchpoints, and vector catch debug events when in Halting
debug-mode, the debug host has to use the same CP14 debug registers and the same sequence
of operations as in Monitor debug-mode debugging. See
Setting breakpoints, watchpoints, and
vector catch debug events
on page 13-45. The only difference is that the CP14 debug registers
are accessed using the DBGTAP scan chains, see
The DBGTAP port and debug registers
on
page 14-6.