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 Register Interfaces<br />

Debug Software Enable<br />

Note<br />

An external debugger can use the Debug Software Enable function to prevent modification<br />

of the debug registers by a debug monitor or other software running on the system. The<br />

Debug Software Enable is a required function of the Debug Access Port, <strong>and</strong> is implemented<br />

as part of the <strong>ARM</strong> Debug Interface v5. For more information see the <strong>ARM</strong> Debug Interface<br />

v5 <strong>Architecture</strong> Specification.<br />

See also DBGSWENABLE on page AppxA-11.<br />

The states of the Software Lock <strong>and</strong> the OS Lock are held in the debug power domain, <strong>and</strong> the Debug<br />

Software Enable is in the Debug Access Port. Therefore, these locks are unaffected by the core power<br />

domain powering down. Also, all of these locks are set to their reset values only on reset of the debug<br />

power domain, that is. on a PRESETDBGn or nSYSPORESET reset.<br />

On SinglePower systems, the Software Lock <strong>and</strong> OS Lock are lost over a power-down. It is<br />

IMPLEMENTATION DEFINED whether the single processor power-domain also includes the Debug<br />

Access Port, <strong>and</strong> therefore also whether the Debug Software Enable is lost over a power-down.<br />

C6.5.3 Permissions in relation to power-down<br />

Accesses cannot be made through the coprocessor interface when the core power domain is powered down.<br />

Access to registers in the core power domain is not possible when the domain is powered down, <strong>and</strong> accesses<br />

return an error response.<br />

Note<br />

Returning this error response, rather than simply ignoring writes, means that the debugger <strong>and</strong> the debug<br />

monitor detect the debug session interruption as soon as it occurs. This makes re-starting the session, after<br />

power-up, considerably easier.<br />

When the core power domain powers down, the Sticky Power-down status bit, bit [1] of the Device<br />

Power-down <strong>and</strong> Reset Status Register, is set to 1. This bit remains set to 1 until it is cleared to 0 by a read<br />

of this register after the core power domain has powered up. If the register is read while the core power<br />

domain is still powered down, the bit remains set to 1. When this bit is 1 the behavior is as if the core power<br />

domain is powered down, meaning the processor ignores accesses to registers inside the core power domain<br />

<strong>and</strong> the system returns an error. This applies whether the register is accessed through the Extended CP14<br />

interface, the memory-mapped interface, or the external debug interface.<br />

This behavior is useful because when the external debugger tries to access a register whose contents might<br />

have been lost by a power-down, it gets the same response regardless of whether the core power domain is<br />

currently powered down or has powered back up. This means that, if the external debugger does not access<br />

the external debug interface during the window where the core power domain is powered down, the<br />

processor still reports the occurrence of the power-down event.<br />

C6-28 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!