2.5.6. ARMTAP_AccessIR

Writes data to the TAP controller instruction register (IR).


This function is deprecated. The first use by a connection causes a warning message to appear in the Multi-ICE server log window. It might not be supported in future releases. Use ARMTAP_AccessIR_nClks instead.


#include “tapop.h”

extern TAPOp_ErrorARMTAP_AccessIR(unsigned8 connectId, unsigned16 TDIbits, unsigned8 TDIrev, unsigned8 deselect);



Connection ID, as returned by TAPOp_OpenConnection.


Up to 16 bits of data to be written to the TAP controller instruction register. This must not be NULL and you cannot mask the value.


A flag determining the bit order of the data:


Write LSB of TDIbits first (normal mode).


Write MSB of TDIbits first (reversed mode).


If 0, the connection to this TAP controller remains selected. This excludes access to this TAP controller from other Multi-ICE server connections. Otherwise, the connection is deselected, giving other connections a chance to perform operations.


The function returns:


No error.


Connection could not be made. You must try again later.


The connectId was not recognized.


Failed because of one of the following:

  • TDIbits = NULL

  • len = 0

  • WRoffset >= len

  • nClks > 31.


The TAP controller was reset or is not in Select-DR-Scan.


The RPC connection was lost while processing this request.


The call attempts to select the connection. If this cannot be done (for example, because another TAP controller is being accessed), the call fails with a TAPOp_UnableToSelect error.

The data to write to the TAP controller is read from TDIbits and sent to the Multi-ICE interface unit. The IR length is part of the device configuration data. Refer to the TAP controller documentation for details on the IR instructions that are supported by your device.

The TAP does not go through Run-Test/Idle, so if an ARM data bus scan chain is selected no DCLK happens. The TAP controller must be in Select-DR-Scan state before the function is used, and is left in this state after the function has been performed.

If another connection on the same Multi-ICE server resets the TAP controllers by calling TAPOp_AnySequence_W, or TAPOp_AnySequence_RW, or TAPOp_TestResetSignal, all subsequent calls to ARMTAP_AccessIR are rejected with the error TAPOp_InBadTAPState until the reset is acknowledged. See TAPOp_AnySequence_W for more details.

See also

These TAPOp API functions provide similar or related functionality:

Copyright © 1998-2002 ARM Limited. All rights reserved.ARM DUI 0154B