Debug Interface
ARM7TDMI Data Sheet
ARM DDI 0029E
8-2
O
8.1
Overview
The ARM7TDMI debug interface is based on IEEE Std. 1149.1- 1990, “
Standard Test
Access Port and Boundary-Scan Architecture”
. Please refer to this standard for an
explanation of the terms used in this chapter and for a description of the TAP controller
states.
ARM7TDMI contains hardware extensions for advanced debugging features. These
are intended to ease the user’s development of application software, operating
systems, and the hardware itself.
The debug extensions allow the core to be stopped either on a given instruction fetch
(breakpoint) or data access (watchpoint), or asynchronously by a debug-request.
When this happens, ARM7TDMI is said to be in
debug state
. At this point, the core’s
internal state and the system’s external state may be examined. Once examination is
complete, the core and system state may be restored and program execution
resumed.
ARM7TDMI is forced into debug state either by a request on one of the external debug
interface signals, or by an internal functional unit known as
ICEBreaker
. Once in debug
state, the core isolates itself from the memory system. The core can then be examined
while all other system activity continues as normal.
ARM7TDMI’s internal state is examined via a JTAG-style serial interface, which allows
instructions to be serially inserted into the core’s pipeline without using the external
data bus. Thus, when in debug state, a store-multiple (STM) could be inserted into the
instruction pipeline and this would dump the contents of ARM7TDMI’s registers. This
data can be serially shifted out without affecting the rest of the system.
8.2
Debug Systems
The ARM7TDMI forms one component of a debug system that interfaces from the
high-level debugging performed by the user to the low-level interface supported by
ARM7TDMI. Such a system typically has three parts:
1
The Debug Host
This is a computer, for example a PC, running a software debugger such as
ARMSD. The debug host allows the user to issue high level commands such
as “set breakpoint at location XX”, or “examine the contents of memory from
0x0 to 0x100”.
2
The Protocol Converter
The Debug Host will be connected to the ARM7TDMI development system via
an interface (an RS232, for example). The messages broadcast over this
connection must be converted to the interface signals of the ARM7TDMI, and
this function is performed by the protocol converter.
3
ARM7TDMI
ARM7TDMI, with hardware extensions to ease debugging, is the lowest level
of the system. The debug extensions allow the user to stall the core from
program execution, examine its internal state and the state of the memory
system, and then resume program execution.