
Debug in depth
ARM DDI 0165B
Copyright 2000 ARM Limited. All rights reserved.
C-9
C.4.5
IDCODE (1110)
The IDCODE instruction connects the device identification code register (or
ID register) between DBGTDI and DBGTDO. The ID register is a 32-bit register that
allows the manufacturer, part number, and version of a component to be read through
of the ID register format.
When the IDCODE instruction is loaded into the instruction register, all the scan cells
are placed in their normal (System) mode of operation:
In the CAPTURE-DR state, the device identification code is captured by the ID
register.
In the SHIFT-DR state, the previously captured device identification code is
shifted out of the ID register via the DBGTDO pin, while data is shifted into the
ID register through the DBGTDI pin.
In the UPDATE-DR state, the ID register is unaffected.
C.4.6
BYPASS (1111)
The BYPASS instruction connects a 1-bit shift register (the bypass register) between
DBGTDI and DBGTDO.
When the BYPASS instruction is loaded into the instruction register, all the scan cells
assume their normal (System) mode of operation. The BYPASS instruction has no
effect on the system pins:
In the CAPTURE-DR state, a logic 0 is captured in the bypass register.
In the SHIFT-DR state, test data is shifted into the bypass register through
DBGTDI, and shifted out through DBGTDO after a delay of one CLK cycle.
The first bit to shift out is a zero.
The bypass register is not affected in the UPDATE-DR state.
All unused instruction codes default to the BYPASS instruction.
C.4.7
RESTART (0100)
The RESTART instruction is used to restart the processor on exit from debug state. The
RESTART instruction connects the bypass register between DBGTDI and DBGTDO,
and the TAP controller behaves as if the BYPASS instruction has been loaded.
The processor exits debug state when the RUN-TEST/IDLE state is entered.