Debug
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
13-32
ID012310
Non-Confidential, Unrestricted Access
13.8
Debug events
A debug event is any of the following:
•
Software debug event
•
External debug request signal
•
Halt DBGTAP instruction
on page 13-33.
13.8.1
Software debug event
A software debug event is any of the following:
•
A watchpoint debug event. This occurs when:
—
the DMVA present in the data bus matches the watchpoint value
—
all the conditions of the WCR match
—
the watchpoint is enabled
—
the linked contextID-holding BRP, if any, is enabled and its value matches the
context ID in CP15 c13.
•
A breakpoint debug event. This occurs when:
—
an instruction was fetched and the IMVA present in the instruction bus matched or
mismatched the breakpoint value, according to the meaning field in the BCR
—
at the same time the instruction was fetched, all the conditions of the BCR matched
—
the breakpoint was enabled
—
at the same time the instruction was fetched, the linked contextID-holding BRP, if
any, was enabled and its value matched the context ID in CP15 c13
—
the instruction is now committed for execution.
•
A breakpoint debug event also occurs when:
—
an instruction was fetched and the CP15 Context ID, register 13, matched the
breakpoint value
—
at the same time the instruction was fetched, all the conditions of the BCR matched
—
the breakpoint was enabled
—
the instruction is now committed for execution.
•
A software breakpoint debug event. This occurs when a BKPT instruction is committed
for execution.
•
A vector catch debug event. This occurs when:
—
The instruction at a vector location was fetched in the appropriate Secure or
Non-secure world. This includes any kind of prefetches, not only the ones because
of exception entry.
—
At the same time the instruction was fetched, the corresponding bit of the VCR was
set, vector catch enabled.
—
The instruction is now committed for execution.
13.8.2
External debug request signal
The processor has an external debug request input signal,
EDBGRQ
. When this signal is HIGH
it causes the processor to enter Debug state when execution of the current instruction has
completed. When this happens, the DSCR[5:2] method of entry bits are set to b0100.This signal
can be driven by the ETM to signal a trigger to the core. For example, if a memory permission