09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12.6 Debug events<br />

12.6.1 Software debug event<br />

A debug event is any of the following:<br />

• Software debug event<br />

• Halting debug event on page 12-51.<br />

A processor responds to a debug event in one of the following ways:<br />

• ignores the debug event<br />

• takes a debug exception<br />

• enters debug state.<br />

A software debug event is any of the following:<br />

Debug<br />

• A watchpoint debug event. This occurs when:<br />

— The D-side Virtual Address (DVA) for a load or store matches the watchpoint value.<br />

Memory hints and cache operations do not trigger watchpoints.<br />

— All the conditions of the WCR match.<br />

— The watchpoint is enabled.<br />

— The linked context ID-holding BRP, if any, is enabled and its value matches the<br />

context ID in CP15 c13. See Chapter 3 System Control Coprocessor.<br />

— The instruction that initiated the memory access is committed for execution.<br />

Watchpoint debug events are only generated if the instruction passes its condition<br />

code.<br />

• A breakpoint debug event. This occurs when:<br />

— An instruction is fetched and the I-side Virtual Address (IVA) present in the<br />

instruction bus matched the breakpoint value.<br />

— At the same time the instruction is fetched, all the conditions of the BCR for linked<br />

or unlinked IVA-based breakpoint generation matched the I-side control signals.<br />

— The breakpoint is enabled.<br />

— At the same time the instruction is fetched, the linked context ID-holding BRP, if<br />

any, is enabled and its value matched the context ID in CP15 c13.<br />

— The instruction is committed for execution. These debug events are generated<br />

whether the instruction passes or fails its condition code.<br />

• A breakpoint debug event also occurs when:<br />

— An instruction is fetched and the CP15 Context ID Register c13 matched the<br />

breakpoint value.<br />

— At the same time the instruction is fetched, all the conditions of the BCR for<br />

unlinked context ID breakpoint generation matched the I-side control signals.<br />

— The breakpoint is enabled.<br />

— The instruction is committed for execution. These debug events are generated<br />

whether the instruction passes or fails its condition code.<br />

• A BKPT debug event. This occurs when a BKPT instruction is committed for execution.<br />

BKPT is an unconditional instruction.<br />

• A vector catch debug event. This occurs when:<br />

— An instruction is prefetched and the IVA matched a vector location address. This<br />

includes any kind of prefetches, not only the ones because of exception entry.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 12-50<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!