
Debug Interface
ARM7TDMI Data Sheet
ARM DDI 0029E
8-6
O
Action of ARM7TDMI in debug state
Once ARM7TDMI is in debug state,
nMREQ
and
SEQ
are forced to indicate internal
cycles. This allows the rest of the memory system to ignore ARM7TDMI and function
as normal. Since the rest of the system continues operation, ARM7TDMI must be
forced to ignore aborts and interrupts.
The
BIGEND
signal should not be changed by the system during debug. If it changes,
not only will there be a synchronisation problem, but the programmer’s view of
ARM7TDMI will change without the debugger’s knowledge.
nRESET
must also be
held stable during debug. If the system applies reset to ARM7TDMI (ie.
nRESET
is
driven LOW) then ARM7TDMI’s state will change without the debugger’s knowledge.
The
BL[3:0]
signals must remain HIGH while ARM7TDMI is clocked by
DCLK
in
debug state to ensure all of the data in the scan cells is correctly latched by the internal
logic.
When instructions are executed in debug state, ARM7TDMI outputs (except
nMREQ
and
SEQ
) will change asynchronously to the memory system. For example, every time
a new instruction is scanned into the pipeline, the address bus will change. Although
this is asynchronous it should not affect the system, since
nMREQ
and
SEQ
are forced
to indicate internal cycles regardless of what the rest of ARM7TDMI is doing. The
memory controller must be designed to ensure that this asynchronous behaviour does
not affect the rest of the system.
8.4
Scan Chains and JTAG Interface
There are three JTAG style scan chains inside ARM7TDMI. These allow testing,
debugging and ICEBreaker programming. The scan chains are controlled from a
JTAG style TAP (Test Access Port) controller. For further details of the JTAG
specification, please refer to IEEE Standard 1149.1 - 1990
“Standard Test Access Port
and Boundary-Scan Architecture”
. In addition, support is provided for an optional
fourth scan chain. This is intended to be used for an external boundary scan chain
around the pads of a packaged device. The control signals provided for this scan chain
are described later.
Note
The scan cells are not fully JTAG compliant. The following sections describe the
limitations on their use.
8.4.1 Scan limitations
The three scan paths are referred to as scan chain 0, 1 and 2: these are shown in
·
Figure 8-3: ARM7TDMI scan chain arrangement
on page 8-7.
Scan chain 0
Scan chain 0 allows access to the entire periphery of the ARM7TDMI core, including
the data bus. The scan chain functions allow inter-device testing (EXTEST) and serial
testing of the core (INTEST).
The order of the scan chain (from
SDIN
to
SDOUTMS
) is: data bus bits 0 through 31,
the control signals, followed by the address bus bits 31 through 0.