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

A coprocessor can impose additional constraints or usage guidelines for executing coprocessor<br />

instructions in Debug state. For example a coprocessor that signals internal exception conditions<br />

asynchronously using the Undefined Instruction exception, as described in Undefined Instruction<br />

exception on page B1-49, might require particular sequences of instructions to avoid the corruption<br />

of coprocessor state associated with the exception condition.<br />

In the case of the VFP coprocessors, these sequences are defined by the VFP subarchitecture. Other<br />

coprocessors must define any sequences that they require.<br />

Note<br />

The definition of UNPREDICTABLE implies that an UNPREDICTABLE instruction executed in Debug state must<br />

not put the processor into a state or mode in which debug is not permitted, or change the state of any register<br />

that cannot be accessed from the current state <strong>and</strong> mode.<br />

C5.4.1 Writing to the CPSR in Debug state<br />

Table C5-2 lists all the instructions that normally update the CPSR, <strong>and</strong> shows their behavior in Debug state.<br />

Which instructions are permitted in Debug state depends on the version of the Debug architecture.<br />

Table C5-2 Instructions that modify the CPSR, <strong>and</strong> their behavior in Debug state<br />

Instruction v6 Debug v6.1 Debug, v7 Debug<br />

BX UNPREDICTABLE if CPSR.J is 1. Can be used<br />

to set or clear the CPSR.T bit.<br />

BXJ UNPREDICTABLE if either CPSR.J or CPSR.T<br />

is 1. Can be used to set CPSR.J to 1.<br />

UNPREDICTABLE.<br />

UNPREDICTABLE.<br />

SETEND UNPREDICTABLE. UNPREDICTABLE.<br />

CPS UNPREDICTABLE. UNPREDICTABLE.<br />

S PC,, a Can be used to set the CPSR to any value by<br />

copying it from the SPSR of the current mode.<br />

UNPREDICTABLE.<br />

PC,, a Do not update the CPSR. See Data-processing instructions<br />

with the PC as the target in Debug<br />

state on page C5-12.<br />

MSR CPSR_fsxc Use for setting the CPSR bits other than the<br />

execution state bits.<br />

MSR CPSR_ Use for setting the CPSR bits other than the<br />

execution state bits.<br />

Use for setting the CPSR to any<br />

value.<br />

UNPREDICTABLE.<br />

LDM (exception return), RFE UNPREDICTABLE. UNPREDICTABLE.<br />

a. is one of ADC, ADD, AND, ASR, BIC, EOR, LSL, LSR, MOV, MVN, ORR, ROR, RRX, RSB, RSC, SBC, or SUB.<br />

C5-10 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!