Keil Logo

Chaining Multiple Targets

Chaining multiple targets or target chaining refers to the ability to simultaneously connect multiple target systems on a JTAG bus to a single ULINK adapter. In this configuration, you may use ULINK to program Flash memory and debug each target system individually. However, there are a few target system requirements.

Target chaining requires each target device to support the following:

  • BYPASS register.
  • The IDCODE instruction must immediately follow a reset of the Test Access Port (TAP).
  • Bit 0 of ID Code must be 1.
  • In CAPTURE-IR state, the fixed value 1 must be loaded into the IR.

Setting Up Multiple Targets

ULINK scans for an IDCODE, a device name, and an IR length for each target, and sets up targets automatically. The results of this scan are displayed in the JTAG Device Chain section of the ARM Target Driver Setup dialog (Project — Options for Target — Debug — Settings).

JTAG Device Chain display

If the automatic setup fails, you may use Manual Configuration to setup the attributes of each device. To use Manual Configuation, the target device must have BYPASS register support.

Connecting Targets

To connect multiple targets:

  • Connect the control signals (TMS and TCLK) connect in parallel.
  • Connect the data signals (TDI and TDO) in series.

The data output from one target (TDO) should be the input to the next target (TDI) in the chain.

Multiple Target Chaining Diagram


  • The TDI and TDO signal names on the ULINK JTAG connector refer to the target CPU signal names.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.