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

C6.2.4 Recommended reset scheme for v7 Debug<br />

The processor reset scheme is IMPLEMENTATION DEFINED. The <strong>ARM</strong> architecture, described in parts A <strong>and</strong><br />

B of this manual, does not distinguish different levels of reset. However, in a typical system, there are a<br />

number of reasons why multiple levels of reset might exist. In particular, for debug:<br />

It is desirable to be able to debug the reset sequence. This requires support for:<br />

— setting the debug register values before performing a processor reset<br />

— a processor reset not resetting the debug register values.<br />

Providing separate power domains means you might need to reset the debug logic independently from<br />

the logic in the core power domain.<br />

For these reasons, v7 Debug introduces a distinction between debug logic reset <strong>and</strong> non-debug logic reset.<br />

These resets can be applied independently. The reset descriptions in parts A <strong>and</strong> B of this manual describe<br />

the non-debug logic reset. Part C describes the debug logic reset <strong>and</strong> its interaction with the non-debug logic<br />

reset. The non-debug logic reset is sometimes referred to as a core logic reset.<br />

<strong>ARM</strong> recommends use of the following reset signals for an implementation that supports these independent<br />

resets:<br />

nSYSPORESET This signal must be driven LOW on power-up of both the core <strong>and</strong> debug power<br />

domains. It sets parts of the processor logic, including debug logic, to a known state.<br />

nCOREPORESET If the core power domain is powered down while the system is still powered up, this<br />

signal must be driven LOW when the core power domain is powered back up. It sets<br />

parts of the processor logic in the core power domain to a known state. Also, this<br />

reset initializes the debug registers that are in the core power domain.<br />

nRESET This signal is driven LOW to generate a warm reset, that is, when the system wants<br />

to set the processor to a known state but the reset has nothing to do with any<br />

power-down, for example a watchdog reset. It sets parts of the non-debug processor<br />

logic to a known state. A debug session must be unaffected by this reset.<br />

PRESETDBGn The debugger drives this signal LOW to set parts of the debug logic to a known state.<br />

This signal must be driven LOW on power-up of the debug logic.<br />

v6 Debug <strong>and</strong> v6.1 Debug systems do not support multiple power domains <strong>and</strong> therefore <strong>ARM</strong> recommends<br />

a less flexible reset scheme, consisting of only nSYSPORESET <strong>and</strong> nRESET. The debug logic is reset<br />

only on nSYSPORESET <strong>and</strong> has no independent reset signal.<br />

In the v7 Debug recommended reset scheme, a separate PRESETDBGn reset signal can be asserted at any<br />

time, not just at power-up. This new signal has similar effects to nSYSPORESET, that is, it clears all debug<br />

registers, unless otherwise noted by the register definition. For more information, see Appendix A<br />

Recommended External Debug Interface.<br />

Asynchronously asserting PRESETDBGn can lead to UNPREDICTABLE behavior. For example, the reset<br />

might change the values of debug registers that are in use or will be used by software.<br />

For more information about this reset scheme, contact <strong>ARM</strong>.<br />

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