EasyManua.ls Logo

ARM Cortex-R4 - Page 317

Default Icon
436 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Debug
ARM DDI 0363G Copyright © 2006-2011 ARM Limited. All rights reserved. 12-43
ID073015 Non-Confidential
12.6.2 Halting debug event
The debugger or the system can cause the processor to enter into debug state by triggering any
of the following halting debug events:
assertion of the EDBGRQ signal, an External Debug Request
write to the DBGDRCR[0] Halt Request control bit.
If EDBGRQ is asserted while DBGEN is HIGH but invasive debug is not permitted, the
devices asserting this signal must hold it until the processor enters debug state, that is, until
DBGACK is asserted. Otherwise, the behavior of the processor is Unpredictable. For
DBGDRCR[0] halting debug events, the processor records them internally until it is in a state
and mode so that they can be taken.
12.6.3 Behavior of the processor on debug events
This section describes how the processor behaves on debug events while not in debug state. See
Debug state on page 12-47 for information on how the processor behaves while in debug state.
When the processor is in Monitor debug-mode, Prefetch Abort and Data Abort vector catch
debug events are ignored. All other software debug events generate a debug exception such as
Data Abort for watchpoints, and Prefetch Abort for anything else.
When debug is disabled, the
BKPT
instruction generates a debug exception, Prefetch Abort. All
other software debug events are ignored.
When DBGEN is LOW, debug is disabled regardless of the value of DBGDSCR[15:14].
Table 12-39 shows the behavior of the processor on debug events.
12.6.4 Debug event priority
Breakpoint, instruction address or CID match, vector catch, and halting debug events have the
same priority. If more than one of these events occurs on the same instruction, it is
Unpredictable which event is taken.
Breakpoint, instruction address or CID match, vector catch cancel the instruction that they occur
on, therefore a watchpoint cannot be taken on such an instruction.
12.6.5 Watchpoint debug events
A synchronous watchpoint exception has similar behavior to a synchronous data abort
exception:
the processor sets R14_abt to the address of the instruction to return to plus
0x08
.
the processor does not complete the watchpointed instruction.
If the watchpointed access is subject to a synchronous data abort, then the synchronous abort
takes priority over the watchpoint because it is a higher priority exception.
Table 12-39 Processor behavior on debug events
DBGEN DBGDSCR[15:14] Debug mode Action on software debug event
Action on halting
debug event
0 bxx Debug disabled Ignore or Prefetch Abort (for
BKPT
) Ignore
1 b00 None Ignore or Prefetch Abort (for
BKPT
) Debug state entry
1 bx1 Halting Debug state entry Debug state entry
1 b10 Monitor Debug exception Debug state entry

Table of Contents

Related product manuals