Debug Interface
ARM7TDMI Data Sheet
ARM DDI 0029E
8-18
O
In addition to these control outputs,
SDINBS
output and
SDOUTBS
input are also
provided. When an external scan chain is in use,
SDOUTBS
should be connected to
the serial data output and
SDINBS
should be connected to the serial data input.
8.10 ARM7TDMI Core Clocks
ARM7TDMI has two clocks, the memory clock,
MCLK
, and an internally
TCK
generated clock,
DCLK
. During normal operation, the core is clocked by
MCLK
, and
internal logic holds
DCLK
LOW. When ARM7TDMI is in the debug state, the core is
clocked by
DCLK
under control of the TAP state machine, and
MCLK
may free run.
The selected clock is output on the signal
ECLK
for use by the external system. Note
that when the CPU core is being debugged and is running from
DCLK
,
nWAIT
has no
effect.
There are two cases in which the clocks switch: during debugging and during testing.
8.10.1 Clock switch during debug
When ARM7TDMI enters debug state, it must switch from
MCLK
to
DCLK
. This is
handled automatically by logic in the ARM7TDMI. On entry to debug state,
ARM7TDMI asserts
DBGACK
MCLK
. The switch between the
two clocks occurs on the next falling edge of
MCLK
. This is shown in
·
Figure 8-6:
Clock Switching on entry to debug state
.
Figure 8-6: Clock Switching on entry to debug state
ARM7TDMI is forced to use
DCLK
as the primary clock until debugging is complete.
On exit from debug, the core must be allowed to synchronise back to
MCLK
. This must
be done in the following sequence. The final instruction of the debug sequence must
be shifted into the data bus scan chain and clocked in by asserting
DCLK
. At this point,
BYPASS must be clocked into the TAP instruction register. ARM7TDMI will now
automatically resynchronise back to
MCLK
and start fetching instructions from
memory at
MCLK
speed. Please refer also to
·
8.11.3 Exit from debug state
on page
8-21.
MCLK
DBGACK
DCLK
ECLK
Multiplexer Switching
point