SourcePoint Intel Help

Table of Contents

tapstateset

Manually manipulate the JTAG state machine on the target using the TMS and TCK signals.

Syntax

tapstateset(number, state)

Where:

number

is an int4 that specifies the number of times that the JTAG TMS operation should be carried out.

state

is an int4 that specifies what state the state machine should be placed into.

Discussion

Use tapstateset to manually transition the JTAG state machine on the target to the desired JTAG state. The current state that the state machine is in is tracked by the emulator, and a pre-canned sequence is used to move from the current state to the desired state. This sequence is the shortest path to get from the current state to the desired state.

The states and values to use are as follows:

State Name

Value

Test Logic Reset TLR

0x00

Run Test Idle RTI

0x01

Select DR Scan SDR

0x02

Capture DR CDR

0x03

Shift DR ShDR

0x04

Exit-1 DR E1DR

0x05

Pause DR PDR

0x06

Exit-2 DR E2DR

0x07

Update DR UDR

0x08

Select IR Scan SIR

0x09

Capture IR CIR

0x0A

Shift IR ShIR

0x0B

Exit-1 IR E1IR

0x0C

Pause IR PIR

0x0D

Exit-2 IR E2IR

0x0E

Update IR UIR

0x0F

Example 1

Initialize the JTAG state machine on the target by moving to state TLR. This is possible from any other state by issuing five 1โ€™s on TMS.

The command needs to be issued only once, so "number" is set to 0. By setting "state" to 0, the emulator will issue the required number bits, using the required pattern to move the target state machine to the TLR state.

Command input:

tapstateset(0, 0)

Example 2

Assuming that the target is now in the TLR state, transition the state machine from TLR to SIR, via RTI, and then back to RTI, allowing the pre-canned sequences to maneuver us through the correct states.

Command input:

tapstateset(0, 0x0B)

tapstateset(0, 0x01)

Example 3

Perform the same operations as Example 2, but donโ€™t let the pre-canned sequences do the work. Perform each transition manually, in order to show both the path that the pre-canned sequences take above, and the level of granularity available using this command.

Command input:

tapstateset(0, 0x01)

tapstateset(0, 0x02)

tapstateset(0, 0x09)

tapstateset(0, 0x0A)

tapstateset(0, 0x0B)

tapstateset(0, 0x0C)

tapstateset(0, 0x0D)

tapstateset(0, 0x0E)

tapstateset(0, 0x0F)

tapstateset(0, 0x01)

Related Topics