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 />

The security state is largely independent of the processor mode. The only exception<br />

to this independence of security state <strong>and</strong> processor mode is Monitor mode. Monitor<br />

mode exists only in the Secure state, <strong>and</strong> supports transitions between Secure <strong>and</strong><br />

Non-secure state.<br />

Some system control resources are only accessible from the Secure state.<br />

For more information, see The Security Extensions on page B1-25.<br />

Note<br />

In some documentation, the Secure state is described as the Secure world, <strong>and</strong> the<br />

Non-secure state is described as the Non-secure world.<br />

When the Security Extensions are not implemented, the <strong>ARM</strong> architecture provides<br />

only a single security state.<br />

Debug state Debug state refers to the processor being halted for debug purposes, because a debug event<br />

has occurred when the processor is configured to Halting debug-mode. See Invasive debug<br />

on page C1-3.<br />

When the processor is not in Debug state it is in Non-debug state.<br />

Except where explicitly stated otherwise, parts A <strong>and</strong> B of this manual describe processor<br />

behavior <strong>and</strong> instruction execution in Non-debug state. Chapter C5 Debug State describes<br />

the differences in Debug state.<br />

B1.2.2 Exceptions<br />

An exception is a condition that changes the normal flow of control in a program. The change of flow<br />

switches execution to an exception h<strong>and</strong>ler, <strong>and</strong> the state of the system at the point where the exception<br />

occurred is presented to the exception h<strong>and</strong>ler. A key component of the state presented to the h<strong>and</strong>ler is the<br />

return address, that indicates the point in the instruction stream where the exception was taken.<br />

The <strong>ARM</strong> architecture provides a number of different exceptions as described in Exceptions on page B1-30.<br />

Terminology for describing exceptions<br />

In this manual, a number of terms have specific meanings when used to describe exceptions:<br />

An exception is generated in one of the following ways:<br />

— Directly as a result of the execution or attempted execution of the instruction stream. For<br />

example, an exception is generated as a result of an UNDEFINED instruction.<br />

— Less directly, as a result of something in the state of the system. For example, an exception is<br />

generated as a result of an interrupt signaled by a peripheral.<br />

An exception is taken by a processor at the point where it causes a change to the normal flow of<br />

control in the program.<br />

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