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.

C1.2 About the <strong>ARM</strong> Debug architecture<br />

<strong>ARM</strong> processors implement two types of debug support:<br />

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

Invasive debug All debug features that permit modification of processor state. For more<br />

information, see Invasive debug.<br />

Non-invasive debug All debug features that permit data <strong>and</strong> program flow observation, especially trace<br />

support. For more information, see Non-invasive debug on page C1-5.<br />

The following sections introduce invasive <strong>and</strong> non-invasive debug. Summary of the <strong>ARM</strong> debug component<br />

descriptions on page C1-7 gives a quick reference summary of the rest of this part of this manual.<br />

C1.2.1 Invasive debug<br />

The invasive debug component of the <strong>ARM</strong> Debug architecture is intended primarily for run-control<br />

debugging.<br />

Note<br />

In this part of this manual, invasive debug is often referred to simply as debug. For example, debug events,<br />

debug exceptions, <strong>and</strong> Debug state are all part of the invasive debug implementation.<br />

The programmers’ model can be used to manage <strong>and</strong> control debug events. Watchpoints <strong>and</strong> breakpoints are<br />

two examples of debug events. Debug events are described in Chapter C3 Debug Events.<br />

You can configure the processor through the DBGDSCR into one of two debug-modes:<br />

Monitor debug-mode<br />

In Monitor debug-mode, a debug event causes a debug exception to occur:<br />

a debug exception that relates to instruction execution generates a Prefetch Abort<br />

exception<br />

a debug exception that relates to a data access generates a Data Abort exception.<br />

Debug exceptions are described in Chapter C4 Debug Exceptions.<br />

Halting debug-mode<br />

In Halting debug-mode, a debug event causes the processor to enter a special Debug state.<br />

When the processor is in Debug state, the processor ceases to execute instructions from the<br />

program counter location, but is instead controlled through the external debug interface, in<br />

particular the Instruction Transfer Register (DBGITR). This enables an external agent, such<br />

as a debugger, to interrogate processor context, <strong>and</strong> control all subsequent instruction<br />

execution. Because the processor is stopped, it ignores the system <strong>and</strong> cannot service<br />

interrupts.<br />

Debug state is described in Chapter C5 Debug State.<br />

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

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

Saved successfully!

Ooh no, something went wrong!