Debug Test Access Port
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
14-10
ID012310
Non-Confidential, Unrestricted Access
Length
5 bits.
Operating mode
After Scan_N has been selected as the current instruction, when in
Shift-DR state, the shift section of the scan chain select register is selected
as the serial path between
DBGTDI
and
DBGTDO
. At the Capture-DR
state, the binary value b10000 is loaded into this shift section. This is
shifted out during Shift-DR, least significant bit first, while a new value is
shifted in, least significant bit first. At the Update-DR state, the value in
the shift section is loaded into the Scan Chain Select Register to become
the current active scan chain. All additional instructions such as INTEST
then apply to that scan chain. The currently selected scan chain only
changes when a Scan_N or ITRsel instruction is executed, or a DBGTAP
reset occurs. On DBGTAP reset, scan chain 3 is selected as the active scan
chain.
Order
Figure 14-6 shows the order of bits in the scan chain select register.
Figure 14-6 Scan chain select register bit order
14.6.5
Scan chains
To access the debug scan chains you must:
1.
Load the Scan_N instruction into the IR. Now SCREG is selected between
DBGTDI
and
DBGTDO
.
2.
Load the number of the required scan chain. For example, load b00101 to access scan
chain 5.
3.
Load either INTEST or EXTEST into the IR.
4.
Go through the DR leg of the DBGTAPSM to access the scan chain.
INTEST and EXTEST are used as follows:
INTEST
Use INTEST for reading the active scan chain. Data is captured into the shift
register at the Capture-DR state. The previous value of the scan chain is shifted
out during the Shift-DR state, while a new value is shifted in. The scan chain is
not updated during Update-DR. Those bits or fields that are defined as cleared on
read are only cleared if INTEST is selected, even when EXTEST also captures
their values.
EXTEST
Use EXTEST for writing the active scan chain. Data is captured into the shift
register at the Capture-DR state. The previous value of the scan chain is shifted
out during the Shift-DR state, while a new value is shifted in. The scan chain is
updated with the new value during Update-DR.
0b10000
DBGTDI
DBGTDO
Data[4:0]
SCREG[4:0]
4
0