XJAnalyser Integration

The XJAnalyser Integration allows you to access much of the XJAnalyser functionality from within your own application or test executive. Classes in the integration contain methods, events and properties which allow you to interact with the JTAG chain directly by reading and writing pin values. Types are found in XJIntegration.dll under the XJTAG.Integration.XJAnalyser namespace.

The integration provides methods for configuring the JTAG chain by setting the device instruction for each JTAG device, or by setting the TCK frequency of a chain.

Pins can either be driven individually, or simultaneously, and the read values can either be retrieved via a property which returns the latest read value, or by subscribing to an event which notifies handlers when the read value changes.

Getting Started

There are some common steps which need to be followed before you can start running the JTAG chain and interacting with pins on it:

  1. Get an XJLink instance which represents the physical XJLink attached to the board which will be used. Do this using the static GetXJLink method, which you can optionally provide with a serial number corresponding to the XJLink you wish to use.
  2. Create an AnalyserProject instance, passing the constructor the path to an existing XJTAG project (this could be an XJPack file, an XJDeveloper project file, or an XJAnalyser project file). Note that an XJAnalyser licence is necessary to create an AnalyserProject instance.
  3. Use the GetChainRunner method on the project instance to create a ChainRunner instance, passing in the XJLink instance created previously. This class contains methods to control the running state of the JTAG chain itself, and the Chain property can be used to access Devices and Pins on the JTAG chain.

Once each of the XJLink, AnalyserProject, and ChainRunner instances has been finished with, they should be disposed using their corresponding Dispose methods. This ensures that memory used by those instances is freed up for future use, and that new instances of the objects can be created using the same underlying project and XJLink.

When your application has completely finished with the XJIntegration DLL, you must call the XjtagSystem.Close method in order to clear up background threads which the integration runs. If you do not do this, your application may hang on exit and not actually terminate.

See the XJAnalyser Integration API reference for more details of the Interfaces and Classes included as well as their members.