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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C5.5 Privilege in Debug state<br />

Debug State<br />

In Debug state, instructions issued to the processor have the privileges to access <strong>and</strong> modify processor<br />

registers, memory <strong>and</strong> coprocessor registers that they would have if issued in the same mode <strong>and</strong> security<br />

state in Non-debug state.<br />

In User mode <strong>and</strong> Debug state, instructions have additional privileges to access or modify some registers<br />

<strong>and</strong> fields that cannot be accessed in User mode in Non-debug state. However, on processors that implement<br />

the Security Extensions <strong>and</strong> support Secure User halting debug, these additional privileges are restricted<br />

when all the following conditions are true:<br />

the processor is in Debug state<br />

the processor is in Secure User mode<br />

invasive debug is not permitted in Secure privileged modes, because either DBGEN or SPIDEN is<br />

LOW, see Chapter C2 Invasive Debug Authentication.<br />

The following sections describe the instruction privileges, <strong>and</strong> the restrictions on them when these<br />

conditions are all true:<br />

Accessing registers <strong>and</strong> memory in Debug state<br />

Altering CPSR privileged bits in Debug state on page C5-14<br />

Changing the SCR.NS bit in Debug state on page C5-15<br />

Coprocessor <strong>and</strong> Advanced SIMD instructions in Debug state on page C5-16.<br />

C5.5.1 Accessing registers <strong>and</strong> memory in Debug state<br />

The rules for accessing <strong>ARM</strong> core registers <strong>and</strong> memory are the same in Debug state as in Non-debug state.<br />

For example, if the CPSR mode bits indicate the processor is in Supervisor mode:<br />

reads of <strong>ARM</strong> core registers return the Supervisor mode registers<br />

normal load <strong>and</strong> store operations make privileged accesses to memory<br />

a load or store with User mode privilege operation, for example LDRT, makes a User mode privilege<br />

access.<br />

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

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

Saved successfully!

Ooh no, something went wrong!