Multi-ICE ® TAPOpAPI Reference Guide

Version 2.2

Table of Contents

About this document
Intended audience
Typographical conventions
Further reading
Feedback on Multi-ICE
Feedback on this document
1. Programming with TAPOp
1.1. About the TAPOp interface
1.1.1. Remote procedure call
1.2. Accessing the Multi-ICE server atthe TAPOp level
1.2.1. How the Multi-ICE server uses RPC
1.2.2. Making a connection to the server
1.2.3. Multiple clients of the TAPOp layer
1.2.4. TAP controller identification
1.2.5. Order of output of TDI and TMS bitspassed over tapop.h
1.2.6. Accessing long scan chains
1.2.7. Efficiency
1.2.8. Error detection and automatic connectiondeselection
1.2.9. Header file tapshare.h
1.3. Compiling TAPOp client examples
1.3.1. Sources and executables for Windows clients
1.3.2. Sources for UNIX clients
1.3.3. TAPOp example 1
1.3.4. TAPOp example 2
1.3.5. Building your own client programs
1.4. Using TAPOp macros
1.4.1. Writing a macro
1.4.2. Single operation macro example
1.4.3. Multiple operation macro example
1.4.4. Complex macro example
1.4.5. Passing fixed and variable parametersto TAPOp macros
1.5. TAP controller state transitions
2. TAPOp API Reference
2.1. TAPOp calls listed by function
2.1.1. TAP controller and scan chain access
2.1.2. Data read and write
2.1.3. Connection control
2.1.4. Debugging
2.1.5. Macro usage
2.1.6. User I/O
2.1.7. Other functions
2.2. TAPOp type definitions
2.2.1. int8
2.2.2. int16
2.2.3. int32
2.2.4. unsigned8
2.2.5. unsigned16
2.2.6. unsigned32
2.2.7. MultiICE_DriverDetails
2.2.8. ScanData40
2.3. TAPOp constant and macro definitions
2.3.2. bool
2.3.3. EnterParamBytes
2.3.4. EnterParamU32, EnterParamU16, EnterParamU8
2.3.6. InitParams
2.3.9. NREnterParamBytes
2.3.10. NREnterParamU32, NREnterParamU16,NREnterParamU8
2.3.11. TAPCheck macro
2.3.12. TAPOp_Error
2.4. TAPOp inter-client communication flags
2.4.1. Private flags
2.4.2. Flags used by TAPOp_SetControlMacros
2.4.3. Flags returned by TAPOp_ReadMICEFlags
2.5. TAPOp function alphabetic reference
2.5.1. ARMTAP_AccessDR_1Clk_W
2.5.2. ARMTAP_AccessDR_NoClk_W
2.5.3. ARMTAP_AccessDR_RW
2.5.4. ARMTAP_AccessDR_RW_And_Test
2.5.5. ARMTAP_AccessDR_W
2.5.6. ARMTAP_AccessIR
2.5.7. ARMTAP_AccessIR_1Clk
2.5.8. ARMTAP_AccessIR_nClks
2.5.9. ARMTAP_ClockARM
2.5.10. GetServerName
2.5.11. TAPOp_AccessDR_RW
2.5.12. TAPOp_AccessDR_W
2.5.13. TAPOp_AccessIR
2.5.14. TAPOp_AnySequence_RW
2.5.15. TAPOp_AnySequence_W
2.5.16. TAPOp_CloseConnection
2.5.17. TAPOp_DefineMacro
2.5.18. TAPOp_DeleteAllMacros
2.5.19. TAPOp_DeleteMacro
2.5.20. TAPOp_DisplayMacro
2.5.21. TAPOp_FillMacroBuffer
2.5.22. TAPOp_FlushScanQueue
2.5.23. TAPOp_GetDriverDetails
2.5.24. TAPOp_GetModelDetails
2.5.25. TAPOp_LogString
2.5.26. TAPOp_OpenConnection
2.5.27. TAPOp_PingServer
2.5.28. TAPOp_ReadCommonData
2.5.29. TAPOp_ReadMICEFlags
2.5.30. TAPOp_ReadPrivateFlags
2.5.31. TAPOp_RPC_Finalise
2.5.32. TAPOp_RPC_Initialise
2.5.33. TAPOp_RPC_SetTimeout
2.5.34. TAPOp_RunBufferedMacro
2.5.35. TAPOp_RunMacro
2.5.36. TAPOp_SetAutoBypassInstruction
2.5.37. TAPOp_SetControlMacros
2.5.38. TAPOp_SetLogging
2.5.39. TAPOp_SystemResetSignal
2.5.40. TAPOp_TestResetSignal
2.5.41. TAPOp_Wait
2.5.42. TAPOp_WriteCommonData
2.5.43. TAPOp_WriteMICEUser1
2.5.44. TAPOp_WriteMICEUser2
2.5.45. TAPOp_WritePrivateFlags

Proprietary Notice

Words and logos marked with ® or ™ are registered trademarks or trademarksowned by ARM Limited. Other brands and names mentioned herein maybe the trademarks of their respective owners.

Neither the whole nor any part of the information containedin, or the product described in, this document may be adapted orreproduced in any material form except with the prior written permissionof the copyright holder.

The product described in this document is subject to continuousdevelopments and improvements. All particulars of the product andits use contained in this document are given by ARM in good faith.However, all warranties implied or expressed, including but notlimited to implied warranties of merchantability, or fitness forpurpose, are excluded.

This document is intended only to assist the reader in theuse of the product. ARM Limited shall not be liable for any lossor damage arising from the use of any information in this document,or any error or omission in such information, or any incorrect useof the product.

Figure 1.4 reprintedwith permission IEEE Std 1149.1-1990. IEEE Standard Test AccessPort and Boundary-Scan Architecture Copyright 1998-2002, by IEEE.The IEEE disclaims any responsibility or liability resulting fromthe placement and use in the described manner.

Confidentiality Status

This document is Non-Confidential. The right to use, copyand disclose this document may be subject to license restrictionsin accordance with the terms of the agreement entered into by ARMand the party that ARM delivered this document to.

Product Status

The information in this document is final, that is for a developedproduct.

Conformance Notices

This section contains ElectroMagnetic Conformity (EMC)notices and other important notices.

Federal Communications Commission Notice

This device is test equipment and consequently is exempt frompart 15 of the FCC Rules under section 15.103 (c).

CE Declaration of Conformity

This equipment has been tested according to ISE/IEC Guide22 and EN 45014. It conforms to the following product EMC specifications:

The product herewith complies with the requirements of EMCDirective 89/336/EEC as amended.

IEEE Reproduction Permission Notice

Figure 1.4 reprintedwith permission IEEE Std 1149.1-1990. IEEE Standard Test AccessPort and Boundary-Scan Architecture Copyright 1998-200 1 by IEEE.The IEEE disclaims any responsibility or liability resulting fromthe placement and use in the described manner.

Revision History
Revision A September2001 First release
Revision B February2002 Updated for Multi-ICE Version 2.1
Copyright © 1998-2002 ARM Limited. All rights reserved. ARM DUI 0154B