Segger Logo Embedded Software Solutions
Software productsHardware productsDownloadsPricesCustomersOur PartnersSitemapForumAbout us
J-Link ARM: General info
| J-Link overview | Performance comparison | J-Link Pricing | J-Link non-commercial use | J-Link flash programming overview | J-Link FAQs | Using J-Link with IAR "C"-Spy | J-Link USB driver installation | Troubleshooting | J-Link adapters | J-Link JTAG Isolator | J-Link GDB Server | J-Flash ARM | J-Link ARM RDI software | J-Link developer DLL (J-Link SDK) | J-Link Flash SDK | J-Link dedicated flash programming utilities | J-Mem |

J-Link is a USB powered JTAG emulator for ARM cores. It connects via USB to the Windows (2000/XP/Vista) PC host.

Features:

  • USB 2.0 interface
  • Any ARM7/ARM9/ARM11, Cortex™-M3 core supported, including thumb mode
  • Serial Wire Debug (SWD) supported *
  • Serial Wire Viewer (SWV) supported *
  • Automatic core recognition
  • Maximum JTAG speed 12 MHz
  • Download speed up to 720 Kbytes/second **
  • DCC speed up to 800 Kbytes/second **
  • Seamless integration into the IAR Embedded Workbench® IDE
  • No power supply required, powered through USB
  • Support for adaptive clocking
  • All JTAG signals can be monitored, target voltage can be measured
  • Support for multiple devices
  • Fully plug and play compatible
  • Standard 20-pin JTAG connector
  • Wide target voltage range: 1.2V - 3.3V, 5V tolerant
  • USB and 20-pin ribbon cable included
  • Memory viewer (J-Mem) included
  • TCP/IP server included, which allows using J-Link via TCP/IP networks
  • RDI interface available, which allows using J-Link with RDI compliant software
  • Flash programming software (J-Flash) available
  • Flash DLL available, which allows using flash functionality in custom applications
  • Software Developer Kit (SDK) available
  • Embedded Trace Buffer (ETB) support
  • Adapter for 5V JTAG targets available
  • 14-pin JTAG adapter available
  • Optical isolation adapter available
  • Target power supply: J-Link can supply up to 300 mA to target with overload protection

* = Supported since J-Link hardware version 6
** = Measured with J-Link Rev.5, ARM7 @ 50 MHz, 12MHz JTAG speed.

Download J-Link software

Available software packages

Type Description
J-Link ARM RDI software RDI software for J-Link
J-Link ARM RDI flash breakpoints J-Link software supporting software breakpoints in flash
J-Link SDK makes the entire functionality of J-Link available thru the exported functions
Flash SDK An enhanced version of the JLinkARM.DLL, which contains additional API functions for Flash programming.
J-Flash ARM Flash programming software for ARM cores
J-Link GDB Server Translates the GDB monitor commands into J-Link commands

J-Link ARM download speed

The following table lists J-Link ARM performance values (kByte/s) for writing to memory (RAM):

Revision Memory download
via DCC
ARM7
Memory download
ARM9
Memory download
J-Link Rev. 1-4 185.0 kB/s
(4MHz JTAG)
150.0 kB/s
(4MHz JTAG)
75.0 kB/s
(4MHz JTAG)
J-Link Rev. 5-7 800.0 kB/s
(12MHz JTAG)
720.0 kB/s
(12MHz JTAG)
550.0 kB/s
(12MHz JTAG)
J-Trace Rev. 1 600.0 kB/s
(12MHz JTAG)
420.0 kB/s
(12MHz JTAG)
280.0 kB/s
(12MHz JTAG)

Please note that the actual speed depends on various factors, such as JTAG, clock speed, host CPU core etc.

JTAG Speed

There are basically three types of speed settings:

  • Fixed JTAG speed
  • Automatic JTAG speed
  • Adaptive clocking

Fixed JTAG speed

The target is clocked at a fixed clock speed. The maximum JTAG speed the target can handle depends on the target itself. In general ARM cores without JTAG synchronization logic (such as ARM7-TDMI) can handle JTAG speeds up to the CPU speed, ARM cores with JTAG synchronization logic (such as ARM7-TDMI-S, ARM946E-S, ARM966EJ-S) can handle JTAG speeds up to 1/6 of the CPU speed. JTAG speeds of more than 10 MHz are not recommended.

Automatic JTAG speed

Selects the maximum JTAG speed handled by the TAP controller.

NOTE:
On ARM cores without synchronization logic, this may not work reliably, since the CPU core may be clocked slower than the maximum JTAG speed.

Adaptive clocking

If the target provides the RTCK signal, select the adaptive clocking function to syn- chronize the clock to the processor clock outside the core. This ensures there are no synchronization problems over the JTAG interface.

NOTE:
If you use the adaptive clocking feature, transmission delays, gate delays, and synchronization requirements result in a lower maximum clock frequency than with non-adaptive clocking. Do not use adaptive clocking unless it is required by the hardware design.

Using J-Link

Installing the kernel mode driver
In order to use J-Link, a the kernel mode USB driver jlink.sys needs to be installed. This is done by right clicking on the jlink.inf file and selecting "Install" from the context menu, or by connecting J-Link to a USB port of the Host PC and then referring to the inf file. An installation utility is to come up soon.

Checking functionality

The Jlink.exe file can be used to connect to the ARM chip. It currently permits only simple commands, such as memory dump, halt, step, go, Id-check. This can be used to verify proper installation of the USB driver and to verify the connection to the ARM chip, as well as for simple analysis of the target system.

JTAG interface connection (20 pin)

There is a standard 20 pin connector defined by ARM. J-Link ARM has a built-in 20-pin JTAG connector, which is compatible with this standard.

JTAG interface connector signals :

Pin Signal Type Description
1 VTref Input This is the target reference voltage.
It is used to check if the target has power, to create the logic-level reference for the input comparators and to control the output logic levels to the target. It is normally fed from Vdd of the target board and must not have a series resistor.
2 Vsupply NC This pin is not connected in J-Link.
It is reserved for compatibility with other equipment.
Connect to Vdd or leave open in target system.
3 nTRST Output JTAG Reset. Output from J-Link to the Reset signal on the target JTAG port.
Typically connected to nTRST on the target CPU. This pin is normally pulled HIGH on the target to avoid unintentional resets when there is no connection.
5 TDI Output JTAG data input of target CPU.
It is recommended that this pin is pulled to a defined state on the target board.
Typically connected to TDI on target CPU.
7 TMS Output JTAG mode set input of target CPU.
This pin should be pulled up on the target.
Typically connected to TMS on target CPU.
9 TCK Output JTAG clock signal to target CPU.
It is recommended that this pin is pulled to a defined state on the target board.
Typically connected to TCK on target CPU.
11 RTCK Input Return test clock signal from the target.
Some targets must synchronize the JTAG inputs to internal clocks. To assist in meeting this requirement, you can use a returned, and retimed, TCK to dynamically control the TCK rate. J-Link supports adaptive clocking, which waits for TCK changes to be echoed correctly before making further changes. Connect to RTCK if available, otherwise to GND.
13 TDO Input JTAG data output from target CPU.
Typically connected to TDO on target CPU.
15 RESET I/O Target CPU reset signal. Typically connected to the RESET pin of the target CPU, which is typically called "nRST", "nRESET" or "RESET".
17 DBGRQ NC This pin is not connected in J-Link.
It is reserved for compatibility with other equipment to be used as a debug request signal to the target system.
Typically connected to DBGRQ if available, otherwise left open.
19 5V-Supply Output This pin is used to supply power to some eval boards. Not all J-Links supply power on this pin, only the KS (Kickstart) versions. Typically left open on target hardware.

Notes

All pins marked NC are not connected inside J-Link. Any signal can be applied here; J-Link will simply ignore such a signal.

All GND pins must be connected to 0V on the target board.

Pin 19 (VCCS) is used to supply J-Link's target interface. J-Link itself is USB powered, only the target interface is powered thru this pin. Should be connected to target CPUs supply voltage (VCC) and should be between 1.8 and 3.3 V.

Pin 2 is not connected inside J-Link. A lot of targets have pin 1 and pin 2 connected. Some targets use pin 2 instead of pin 1 to supply VCC. These targets will not work with J-Link, unless Pin 1 and Pin 2 are connected on the target's JTAG connector.

Pin 3 (TRST) should be connected to target CPUs TRST pin (sometimes called NTRST). J-Link will also work if this pin is not connected, but you may experience some limitations when debugging. TRST should be separate from the CPU Reset (pin 15)

Pin 11 (RTCK) should be connected to RTCK if available, otherwise to GND.

SWD and SWO/SWV (also called SWV) compability

SWD overview

The J-Link and J-Trace support ARMs Serial Wire Debug (SWD). SWD replaces the 5-pin JTAG port with a clock (SWDCLK) and a single bi-directional data pin (SWDIO), providing all the normal JTAG debug and test functionality. SWDIO and SWCLK are overlaid on the TMS and TCK pins. In order to communicate with a SWD device, J-Link sends out data on SWDIO, syn- chronous to the SWCLK. With every rising edge of SWCLK, one bit of data is trans- mitted or received on the SWDIO. The data read from SWDIO can than be retrieved from the input buffer.

SWD connector pinout

The following table shows the SWD pinout:

Pin Signal Type Description
1 VTref Input This is the target reference voltage. It is used to check if the target has power, to create the logic-level reference for the input comparators and to control the output logic levels to the target. It is normally fed from Vdd of the target board and must not have a series resistor.
2 Vsupply NC This pin is not connected in J-Link. It is reserved for compatibility with other equipment. Connect to Vdd or leave open in target system.
3 Not used NC This pin is not used by J-Link. If the device may also be accessed via JTAG, this pin may be connected to nTRST, otherwise leave open.
5 Not used NC This pin is not used by J-Link. If the device may also be accessed via JTAG, this pin may be connected to TDI, otherwise leave open.
7 SWDIO I/O Single bi-directional data pin.
9 SWCLK Output Clock signal to target CPU. It is recommended that this pin is pulled to a defined state of the target board. Typically connected to TCK of target CPU.
11 Not used NC This pin is not used by J-Link. This pin is not used by J-Link when operating in SWD mode. If the device may also be accessed via JTAG, this pin may be connected to RTCK, otherwise leave open.
13 SWO Output Serial Wire Output trace port. (Optional, not required for SWD communication.)
15 RESET I/O Target CPU reset signal. Typically connected to the RESET pin of the target CPU, which is typically called "nRST", "nRESET" or "RESET".
17 Not used NC This pin is not connected in J-Link.
19 5V-Supply Output This pin is used to supply power to some eval boards. Not all JLinks supply power on this pin, only the KS (Kickstart) versions. Typically left open on target hardware.

Pins 4, 6, 8, 10, 12, 14, 16, 18, 20 are GND pins connected to GND in J-Link. They should also be connected to GND in the target system.

Serial Wire Output (SWO) overview

J-Link can be used with devices that supports Serial Wire Output (SWO). Serial Wire Output (SWO) support means support for a single pin output signal from the core. It is currently tested with Cortex-M3 only.

Supported SWO speeds

The supported SWO speeds depend on the connected emulator. They can be retrieved from the emulator. Currently, the following are supported:

Emulator Speed, formula Resulting max. speed
J-Link V6 6MHz/n, n >= 12 500kHz
J-Link V7 6MHz/n, n >= 1 6MHz

Serial Wire Viewer (SWV) overview

The Instrumentation Trace Macrocell (ITM) and Serial Wire Output (SWO) can be used to form a Serial Wire Viewer (SWV). The Serial Wire Viewer provides a low cost method of obtaining information from inside the MCU. The SWO can output trace data in two output formats, but only one output mechanism is valid at any one time. The 2 defined encodings are UART and Manchester. The current J-Link implementation sup- ports only UART encoding. Serial Wire Viewer uses the SWO pin to transmit different packets for different types of information. The three sources in the Cortex-M3 core which can output information via this pin are:

  • Instrumentation Trace Macrocell (ITM) for application-driven trace source that supports printf-style debugging. It supports 32 different channels, which allow it to be used for other purposes such as real-time kernel information as well.
  • Data Watchpoint and Trace (DWT) for real-time variable monitoring and PC-sampling, which can in turn be used to periodically output the PC or various CPU-internal counters, which can be used to obtain profiling information from the target.
  • Timestamping. Timestamps are emitted relative to packets.

Further application documents

Refer to the following documents for detailed information about SWO/SWV:

Further application documents
CoreSight Components - Technical Reference Manual
Cortex™-M3 - Technical Reference Manual

Multiple devices in the scan chain

J-Link ARM can handle multiple devices in the scan chain. This applies to hardware where multiple chips are connected to the same JTAG connector. As can be seen in the drawing below, the TCK and TMS lines of all JTAG device are connected, while the TDI and TDO lines form a bus.

Currently, up to 8 devices in the scan chain are supported. One or more of these devices can be ARM cores; the other devices can be of any other type but need to comply with the JTAG standard.

2 devices in JTAG chain

Multi core debugging

J-Link is able to debug multiple cores on one target system connected to the same scan chain.

How multi-core debugging works

Multi-core debugging requires multiple debuggers or multiple instances of the same debugger. Two or more debuggers can use the same J-Link / J-Trace simultaneously. Configuring a debugger to work with a core in a multi-core environment does not require special settings. All that is required is proper setup of the scan chain for each debugger. This enables J-Link / J-Trace to debug more than one core on a target at the same time.
Both debuggers share the same physical connection.

J-Link TCP/IP Server

It allows using the J-Link via TCP/IP, which allows connecting to and fully using a J-Link connected to the USB port of an other computer. Performance is just slightly (about 10%) lower than with direct USB connection. The J-Link server is free and included in the software package available for download.

Specifications

Power Supply USB powered <50mA
USB Interface USB 2.0, full speed
Target Interface JTAG 20-pin (14-pin adapter available)
Serial Transfer Rate between J-Link and Target up to 12MHz
Supported Target Voltage 1.2 - 3.3 V (5V adapter available)
Operating Temperature + 5 °C ... + 60 °C
Storage Temperature - 20 °C ... + 65 °C
Relative Humidity (non-condensing) < 90% rH
Size (without cables) 100 x 53x 27mm
Weight (without cables) 70g
Electromagnetic Compatibility (EMC) EN 55022, EN 55024
Supported OS Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows XP x64
Microsoft Windows 2003
Microsoft Windows 2003 x64
Microsoft Windows Vista
Microsoft Windows Vista x64

Software download

Copyright SEGGER Microcontroller GmbH & Co.KG. All rights reserved.
For more information, please visit our web site www.segger.com or contact us at info@segger.com
Last update: May 19, 2008