05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Debug Events<br />

Note<br />

Normally, exception vector addresses must be word-aligned. However, when SCTLR.VE == 1, enabling<br />

vectored interrupt support, the exception vector address for one or both of the IRQ <strong>and</strong> FIQ vectors might<br />

not be word-aligned. Support for exception vector addresses that are not word-aligned is IMPLEMENTATION<br />

DEFINED, see Vectored interrupt support on page B1-32.<br />

If Monitor debug-mode is selected <strong>and</strong> enabled, <strong>and</strong> the vector is either the Prefetch Abort vector or the Data<br />

Abort vector, the debug event is:<br />

UNPREDICTABLE in v7 Debug<br />

ignored in v6 Debug <strong>and</strong> v6.1 Debug.<br />

Vector Catch debug events are synchronous. That is, the debug event acts like an exception that cancels the<br />

instruction at the caught vector. When invasive debug is enabled <strong>and</strong> Monitor debug-mode is selected, if<br />

Vector Catch debug events are permitted a Vector Catch debug event generates a Prefetch Abort exception.<br />

For more information, see Generation of debug events on page C3-40.<br />

Note<br />

A Vector Catch debug event is taken only when the instruction is committed for execution <strong>and</strong> therefore<br />

might not be taken if another exception occurs, see Debug event prioritization on page C3-43.<br />

For more information, see Vector Catch Register (DBGVCR) on page C10-67.<br />

Vector catch debug events <strong>and</strong> vectored interrupt support<br />

The <strong>ARM</strong> architecture provides support for vectored interrupts, where an interrupt controller provides the<br />

interrupt vector address directly to the processor. The mechanism for defining the vectors is<br />

IMPLEMENTATION DEFINED. You enable the use of vectored interrupts by setting the SCTLR.VE bit to 1. For<br />

more information see Vectored interrupt support on page B1-32.<br />

Vectored interrupt support affects Vector Catch debug event generation for the IRQ <strong>and</strong> FIQ exception<br />

vectors. These two vectors are described as the interrupt vectors. The details of Vector Catch debug event<br />

generation on the interrupt vectors depend on whether the Security Extensions are implemented:<br />

If the Security Extensions are not implemented<br />

If the SCTRL.VE bit is set to 0, then the Local vector addresses for IRQ <strong>and</strong> FIQ<br />

vector catch are determined by the exception base address.<br />

If the SCTRL.VE bit is set to 1, then the Local vector address for an IRQ or FIQ<br />

vector catch is the interrupt vector address supplied by the interrupt controller on<br />

taking the interrupt.<br />

C3-22 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

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

Saved successfully!

Ooh no, something went wrong!