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.

Recommended External Debug Interface<br />

Changing the authentication signals<br />

In v6.1 Debug <strong>and</strong> v7 Debug, the NIDEN, DBGEN, SPIDEN, <strong>and</strong> SPNIDEN authentication signals can<br />

be controlled dynamically, meaning that they might change while the processor is running, or while the<br />

processor is in Debug state.<br />

Note<br />

In v6 Debug DBGEN is a static signal <strong>and</strong> can be changed only while the processor is in reset.<br />

Normally, these signals are driven by the system, meaning that they are driven by a peripheral connected to<br />

the <strong>ARM</strong> processor. If the software running on the <strong>ARM</strong> processor has to change any of these signals it must<br />

follow this procedure:<br />

1. Execute an implementation specific sequence of instructions to change the signal value. For example,<br />

this might be an instruction to write a value to a control register in a system peripheral.<br />

2. If step 1 involves any memory operation, perform a Data Synchronization Barrier (DSB).<br />

3. Poll the debug registers to check the signal values seen by the processor. This is required because the<br />

processor might not see the signal change until several cycles after the DSB completes.<br />

4. Perform an Instruction Synchronization Barrier (ISB), exception entry or exception return.<br />

The software cannot perform debug or analysis operations that rely on the new value until this procedure<br />

has been completed. The same rules apply for instructions executed through the DBGITR while in Debug<br />

state. The processor view of the authentication signals can be polled through DBGDSCR[17:16] <strong>and</strong>, in v7<br />

Debug, the DBGAUTHSTATUS register.<br />

Note<br />

Exceptionally, the processor might be in Debug state even though the mode, security state <strong>and</strong> authentication<br />

signal settings are such that, in Non-debug state, debug events would be ignored. This can occur because:<br />

it is UNPREDICTABLE whether the behavior of debug events that are generated between a change in<br />

the authentication signals <strong>and</strong> the next Instruction Synchronization Barrier, exception entry or<br />

exception return follow the behavior of the old or new settings<br />

it is possible to change the authentication signals while the processor is in Debug state.<br />

See also Generation of debug events on page C3-40 <strong>and</strong> Altering CPSR privileged bits in Debug state on<br />

page C5-14.<br />

AppxA-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!