
Debug Support
8-28
Copyright 1999, 2000 ARM Limited. All rights reserved.
ARM DDI 0144B
The ARM9TDMI core is forced to use
DCLK
as the primary clock until debugging is
complete. On exit from debug, the core must be allowed to synchronize back to
GCLK
.
This must be done in the following sequence:
1.
The final instruction of the debug sequence must be shifted into the instruction
data bus scan chain, and clocked in by asserting
DCLK
. At this point, RESTART
must be clocked into the TAP controller register.
2.
The ARM9TDMI automatically resynchronizes back to
GCLK
when the TAP
controller enters to the RUN-TEST/IDLE mode and starts fetching instructions
from memory at
GCLK
speed. For more information, see
Exit from debug state
on page 8-33.
8.7.2
Clock switching during test
Under serial test conditions, when test patterns are being applied to the ARM9TDMI
core through the JTAG interface, the ARM9TDMI must be clocked using
DCLK
. Entry
into test is less automatic than debug and some care must be taken.
On entry into test,
GCLK
must be held LOW. The TAP controller can now be used to
perform serial testing on the ARM9TDMI. If scan chain 0 and INTEST are selected,
DCLK
is generated while the state machine is in RUN-TEST/IDLE state.
During EXTEST,
DCLK
is not generated.
On exit from test, RESTART must be selected as the TAP controller instruction. When
this is done,
GCLK
can be allowed to resume. After INTEST testing, care must be
taken to ensure that the core is in a sensible state before switching back. The safest way
to do this is to either select RESTART and then cause a system reset, or to insert
MOV PC,#0
into the instruction pipeline before switching back.