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.

The System Level Programmers’ Model<br />

B1.6 Exceptions<br />

An exception causes the processor to suspend program execution to h<strong>and</strong>le an event, such as an externally<br />

generated interrupt or an attempt to execute an undefined instruction. Exceptions can be generated by<br />

internal <strong>and</strong> external sources.<br />

Normally, when an exception is taken the processor state is preserved immediately, before h<strong>and</strong>ling the<br />

exception. This means that, when the event has been h<strong>and</strong>led, the original state can be restored <strong>and</strong> program<br />

execution resumed from the point where the exception was taken.<br />

More than one exception might be generated at the same time, <strong>and</strong> a new exception can be generated while<br />

the processor is h<strong>and</strong>ling an exception.<br />

The following sections describe exception h<strong>and</strong>ling in general:<br />

Exception vectors <strong>and</strong> the exception base address<br />

Exception priority order on page B1-33<br />

Exception entry on page B1-34<br />

Exception return on page B1-38<br />

Exception-h<strong>and</strong>ling instructions on page B1-41<br />

Control of exception h<strong>and</strong>ling by the Security Extensions on page B1-41<br />

Low interrupt latency configuration on page B1-43.<br />

Wait For Event <strong>and</strong> Send Event on page B1-44<br />

Wait For Interrupt on page B1-47.<br />

The following sections give details of each exception:<br />

Reset on page B1-48<br />

Undefined Instruction exception on page B1-49<br />

Supervisor Call (SVC) exception on page B1-52<br />

Secure Monitor Call (SMC) exception on page B1-53<br />

Prefetch Abort exception on page B1-54<br />

Data Abort exception on page B1-55<br />

IRQ exception on page B1-58<br />

FIQ exception on page B1-60.<br />

B1.6.1 Exception vectors <strong>and</strong> the exception base address<br />

When an exception is taken, processor execution is forced to an address that corresponds to the type of<br />

exception. These addresses are called the exception vectors.<br />

By default, the exception vectors are eight consecutive word-aligned memory addresses, starting at an<br />

exception base address. Table B1-3 on page B1-31 shows the assignment of the exceptions to the eight<br />

memory addresses.<br />

B1-30 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!