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.

C1.4 Register interfaces<br />

Introduction to the <strong>ARM</strong> Debug <strong>Architecture</strong><br />

This section gives a brief description of the different debug register interfaces defined by v7 Debug. The<br />

most important distinction is between:<br />

the external debug interface, that defines how an external debugger can access the v7 Debug<br />

resources<br />

the processor interface, that describes how an <strong>ARM</strong>v7 processor can access its own debug resources.<br />

For v7 Debug, <strong>ARM</strong> recommends an external debug interface based on the <strong>ARM</strong> Debug Interface v5<br />

<strong>Architecture</strong> Specification (ADIv5). The most significant difference between ADIv5 <strong>and</strong> the interface<br />

recommended by v6 Debug <strong>and</strong> v6.1 Debug is that ADIv5 supports debug over power-down of the<br />

processor.<br />

Although the ADIv5 interface is not required for compliance with <strong>ARM</strong>v7, the <strong>ARM</strong> RealView ® tools<br />

require this interface to be implemented.<br />

ADIv5 supports both a JTAG wire interface <strong>and</strong> a low pin-count Serial Wire (SW) interface. The RealView<br />

tools support either wire interface.<br />

An ADIv5 interface enables a debug object, such as an <strong>ARM</strong>v7 processor, to abstract a set of resources as<br />

a memory-mapped peripheral. Accesses to debug resources are made as 32-bit read/write transfers.<br />

Power-down debug is supported by introducing the abstraction that accesses to certain resources can return<br />

an error response when they are unavailable, just as a memory-mapped peripheral can return a<br />

slave-generated error response in exceptional circumstances.<br />

v7 Debug requires software executing on the processor to be able to access all debug registers. To provide<br />

access to a particular basic subset of debug registers, v7 Debug requires implementation of the Baseline<br />

Coprocessor 14 (CP14) Interface, see The Baseline CP14 debug register interface on page C6-32. To<br />

provide access to the rest of the debug registers v7 Debug permits one of two options:<br />

An Extended CP14 interface. This is similar to the requirement of v6 Debug <strong>and</strong> v6.1 Debug.<br />

A memory-mapped interface.<br />

An implementation can include both of these options.<br />

<strong>ARM</strong>v7 does not permit all combinations of debug, trace, <strong>and</strong> performance monitor register interfaces.<br />

There are three options for <strong>ARM</strong>v7 implementations, shown in Table C1-2 on page C1-10. In a number of<br />

cases an optional memory-mapped interface is permitted, indicated by brackets. <strong>ARM</strong> recommends that if<br />

the optional memory-mapped interface is implemented for either the debug interface or the trace interface<br />

then it is implemented for both of these interfaces.<br />

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

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

Saved successfully!

Ooh no, something went wrong!