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.

Notes on the <strong>ARM</strong> processor modes<br />

The System Level Programmers’ Model<br />

User mode User mode enables the operating system to restrict the use of system resources. Application<br />

programs normally execute in User mode. In User mode, the program being executed:<br />

cannot access protected system resources<br />

cannot change mode except by causing an exception, see Exceptions on page B1-30.<br />

Privileged modes<br />

Exception modes<br />

The modes other than User mode are known as privileged modes. In their security state they<br />

have full access to system resources <strong>and</strong> can change mode freely.<br />

The exception modes are:<br />

FIQ mode<br />

IRQ mode<br />

Supervisor mode<br />

Abort mode<br />

Undefined mode<br />

Monitor mode.<br />

Each of these modes normally h<strong>and</strong>les the corresponding exceptions, as shown in<br />

Table B1-1 on page B1-6.<br />

Each exception mode has some banked registers to avoid corrupting the registers of the<br />

mode in use when the exception is taken, see <strong>ARM</strong> core registers on page B1-9.<br />

System mode System mode has the same registers available as User mode, <strong>and</strong> is not entered by any<br />

exception.<br />

System mode is intended for use by operating system tasks that must access system<br />

resources, but do not want to use the exception entry mechanism <strong>and</strong> the associated<br />

additional registers. Also, it is used when the operating system has to access the User mode<br />

registers.<br />

Monitor mode<br />

Monitor mode is only implemented as part of the Security Extensions, <strong>and</strong> is always in the<br />

Secure state, regardless of the value of the SCR.NS bit. For more information, see The<br />

Security Extensions on page B1-25.<br />

Code running in Monitor mode has access to both the Secure <strong>and</strong> Non-secure copies of<br />

system registers. This means Monitor mode provides the normal method of changing<br />

between the Secure <strong>and</strong> Non-secure security states.<br />

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

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

Saved successfully!

Ooh no, something went wrong!