Skip navigation

SEGGER Debug Probes—J-Link

  • All popular debuggers and IDEs are supported [More..]
  • Cross platform support (Windows, Linux, Mac)
  • Ultrafast download speed into RAM and flash memory
  • Unlimited breakpoints in flash memory [More..]
  • Unique Real-Time Transfer technology (RTT) [More..]
  • Multiple CPUs supported—8051, PIC32, RX, ARM7/9/11, Cortex-M/R/A, RISC-V [More..]
  • Free software updates
  • Built-in VCOM functionality [More..]

J-Link—The Market Leading Debug Probe

SEGGER J-Links are the most widely used line of debug probes available today. They've proven their value for more than 10 years in embedded development. This popularity stems from the unparalleled performance, extensive feature set, large number of supported CPUs, and compatibility with all popular development environments.

J-Link — The best choice to optimize your debugging and flash programming experience

With up to 3 MBytes/s download speed to RAM and record-breaking flashloaders, as well as the ability to set an unlimited number of breakpoints in flash memory of MCUs, the J-Link debug probes are undoubtedly the best choice to optimize your debugging and flash programming experience.

J-Link debug probes support ARM 7/9/11, Cortex-M/R/A, Microchip PIC32, Renesas RX CPUs as well as SPI flash devices. Here is the complete list of microcontrollers and SPI flash devices that are supported by J-Link.

The J-Link debug probes are supported by all major IDEs including Eclipse, GDB-based IDEs and SEGGER Embedded Studio. For a complete list, please refer to Supported IDEs.

J-Link Tools

Ozone – J-Link Debugger

Ozone is the debugger for J-Link and J-Trace. It includes all well-known debug controls and information windows and makes use of the best performance of J-Link and J-Trace debug probes.

Ozone provides full system insight, to track down inefficiencies and bugs, and to make your products even better.

J-Link Configurator

J-Link Configurator simplifies the management of several J-Links like updating the firmware of different J-Links at once. J-Link Configurator displays information about the connected J-Link.

Such information includes the current firmware version, reaction time, number of active connections, etc.

GDB-Server

The J-Link GDB Server is a remote server for the GDB which enables using J-Link directly with GDB or any toolchain which uses GDB as debugging interface.

In addition to the standard GDB commands, the GDB Server provides monitor commands for trace functionality.

J-Link Remote Server

J-Link Remote Server (previously called J-Link TCP/IP Server) is a small server application that allows using J-Link / J-Trace remotely via any TCP/IP hardwired (Ethernet) or wireless (WiFi) network.

With the tunnelling mode, the J-Link/J-Trace even can be placed anywhere outside the LAN.

J-Link Commander

J-Link Commander (JLink.exe) is a command line based utility that can be used for verifying proper functionality of J-Link as well as for simple analysis of the target system.

J-Link Commander supports a complete set of commands to verify the target connection and device.

J-Scope

J-Scope is a software to analyze and visualize data on a microcontroller in real-time, while the target is running, in an oscilloscope-style view.

Data acquisition is handled via HSS or RTT and does not require SWO.

J-Flash

J-Flash is a PC software to program internal and external flash memory of a microcontroller-based embedded system via J-Link or Flasher.

J-Flash is running on Windows systems.

J-Flash SPI

J-Flash SPI is a PC software to program the external SPI flash memories via J-Link or Flasher.

J-Flash SPI is running on Windows systems.

RTT Viewer

J-Link RTT Viewer is an application to use all features of RTT, such as terminal output on channel 0, sending text input to channel 0, up to 16 virtual terminals with only one target channel.

In addition RTTViewer enables controlling the text output with colored text, erasing the console, logging data.

SystemView

SystemView is a tool for real-time recording and visualizationn of events and interrupts while the system is running. The recorded data is analyzed and the system behavior is visualized in different views.

SystemView can ensure a system performs as designed, can track down inefficiencies, and show unintended interactions and resource conflicts, with a focus on details of every single system ticks.

Embedded Studio

The leading cross platform IDE Embedded Studio is the complete all-in-one solution that provides a continuous workflow for managing, building, testing, and deploying embedded applications.

This includes project manager, source code editor, an integrated debugger, J-Link integration, and version control.

third-party-black.svg

Ecosystem

J-Link is the most widely supported debug probe in the market. J-Link's ecosystem is enabled by its DLL and the SDK which is needed to access the API, and the GDB-Server.

All popular test and debug tools and IDEs supporting ARM, PIC32, and RX based microcontrollers support J-Link.

Working with J-Link

J-Link can be used for programming flash targets with the J-Flash software or stand-alone.

Setting up J-Link for first use

In order to use J-Link for the first time you need to install the J-Link related software and documentation pack which, among others, includes the J-Flash software, and connect J-Link to the host PC via USB.

Download   J-Link Software and Documentation Pack for Windows

Download   J-Link Software and Documentation Pack for macOS

Download   J-Link Software and Documentation Pack, Linux DEB installer, 64bit

Download   J-Link Software and Documentation Pack, Linux RPM installer, 64bit

Download   J-Link Software and Documentation Pack, Linux TGZ installer, 64bit

Download   J-Link Software and Documentation Pack, Linux DEB installer, 32bit

Download   J-Link Software and Documentation Pack, Linux RPM installer, 32bit

Download   J-Link Software and Documentation Pack, Linux TGZ installer, 32bit

Download   J-Link Software and Documentation Pack

Connecting the target system

Power-on sequence

In general, J-Link should be powered on before connecting it with the target device. That means you should first connect J-Link with the host system via USB and then connect J-Link with the target device. Power-on the device after you connected J-Link to it.
If you use J-Link PRO with Ethernet, just power-on J-Link via external power supply.

Verifying target device connection with J-Link Commander

If the USB driver is working properly and your J-Link is connected with the host system, you may connect J-Link to your target hardware. Then start the J-Link command line tool JLink.exe, which should now display the normal J-Link related information. Now type connect and specify your target, and the target interface. Once done it should display a report about the connected CPU and its debug interface. The screenshot shows the output of JLink.exe. As can be seen, it reports a J-Link connected to an STM32F205 and the related information.

Start using J-Link with your favourite tool-chain.

To connect your J-Link with your development project, please consult the guide for your favourite tool-chain.

Full insight - J-Link control panel

No more guessing! The J-Link control panel gives full transparency of what J-Link is currently doing.

Availability

The J-Link control panel is available on all platforms (Windows, Linux, macOS) and does not require any additional utility to be installed / started. It is available through the regular web browser.

Extending the IDE feature set

Who does not know it? An IDE has been chosen and working with it is started. Then, a new, very useful feature is introduced in the J-Link software but the IDE has not adapted it yet. Or even worse, the IDE cannot be updated due to certification reasons. The J-Link control panel provides the opportunity to make use of new J-Link features without even touching the IDE itself.

More information..

Supported IDEs

Full J-Link/J-Trace Support

The following table lists the IDEs fully supporting J-Link/J-Trace and the additional features of J-Link/J-Trace, which can be used with them.
All following IDEs have debug support, including: Download to flash and RAM, memory read/write, CPU register read/write, run control (go, step, halt), software breakpoints in RAM, hardware breakpoints in flash memory, and use of Unlimited Flash Breakpoints.

Overview of supported IDEs

J-Link Media

SEGGER J-Link Flash Breakpoint Introduction

SEGGER J-Link Flash Introduction

Ultra high speed flash programming

VCOM Functionality

J-Link comes with built-in virtual COM port (VCOM) functionality. This means that in addition to the regular J-Link debug functionality, J-Link will also show up as a COM port in the device manager of the operating system.

As most modern computers do not expose a physical COM port anymore but many hardware setups still use UARTs for logging, diagnostics and application control, usually a separate COM to USB adapter is needed to use the COM functionality of the target hardware while debugging in parallel.

With J-Link, such an additional adapter is not required as J-Link provides this adaption functionality.

Availability

The VCOM functionality is available on the current hardware version of the following J-Link models:

Technology

The J-Link VCOM functionality is implemented via SEGGER emUSB-Device, using the CDC-ACM class.
For more information, please refer to the emUSB-Device pages.

J-Link models are shipped with VCOM functionality disabled. It can be enabled via the J-Link Configurator utility. For more information about how to enable VCOM on a J-Link, please refer to the J-Link user guide.


Pinout

The following pins on the stadard 20-pin 0.1" connector on J-Link are used for VCOM functionality:

  • 5: J-Link Tx
  • 17: J-Link Rx

Notes:

  • VCOM functionality is not available for the J-Link EDU Mini model
  • VCOM functionality is not available when using the traditional 4-wire JTAG interface for target communication, as Pin 5 is needed as TDI for this interface

Model Overview

J-Link PRO

J-Link ULTRA+

J-Link PLUS

 J-Link PLUS Compact

J-Link BASE

J-Link BASE Compact

J-Link EDU

J-Link EDU Mini

J-Link FAQs

What is the advantage of J-Link versus simple probes such as FTDI based systems?

 A: J-Link has numerous advantages. One of the biggest advantages is the J-Link software supplied by SEGGER, which allows using it with common IDEs, the availability of unlimited flash breakpoints for people debugging software which runs in the flash of  microcontrollers, as well as the high speed of the J-Link and the simple and very fast download into flash memory. In contrast to most of the simple probes, it supports adaptive clocking as well as SWD and SWO. It also works more stable since it is not just a dump USB to JTAG converter, but uses the intelligence of the built-in CPU, providing a more robust communication, especially in situations where the target CPU runs at low clock speeds.

Is it possible to write my own application with J-Link?

A: Yes. We offer a dedicated Software Developer Kit (SDK). It allows using the full J-Link functionality. [More info...]

The core of my target system could not be recognized automatically. Is there a way to configure my device in order to communicate with J-Link?

A: Yes! In most cases the J-Link auto-detection works fine and recognizes the core of a device automatically. However, in some cases the auto-detection of J-Link does not work e.g. if the core is not present in the JTAG chain by default and needs to be enabled by sending a command to another device in the JTAG-chain. In such cases, the connection sequence of J-Link can be customized by using a J-Link script file which is executed before the communication between J-Link and the target system starts. The script file allows maximum flexibility, so almost any target initialization which is necessary can be supported.

What is adaptive clocking and when and why would I use it?

A: If the target provides the RTCK signal, select the adaptive clocking function to synchronize the JTAG clock (TCK) to the processor clock outside the core. This ensures there are no synchronization problems over the JTAG interface. If you use the adaptive clocking feature, transmission delays, gate delays, and synchronization requirements result in a lower maximum clock frequency than with nonadaptive clocking. This is the recommended JTAG speed used to connect to ARM7/9 -S cores.

I have multiple ARM cores in my JTAG chain. How can I debug them (simultaneously) with J-Link?

A: Simple: Two or more debuggers can use the same J-Link simultaneously. Multi-core debugging requires multiple debuggers or multiple instances of the same debugger. You need to tell your debugger which device in the scan chain you want to debug. Additional special settings are not required.

May I work with more than one J-Link at the same time on the same machine?

 A: Yes, you can connect an unlimited number of J-Links to your PC. No special configuration is required, since each J-Link is registered with its unique serial number at the PC, allowing it to have multiple J-Links connected in parallel.

Which CPUs are supported by J-Link?

A: J-Link works with ARM7/9/11, Cortex-A5/A8/A9, Cortex-M0/M0+/M1/M3/M4/M7, Cortex-R4/R5, Microchip PIC32 and Renesas RX100/RX200/RX600 series CPUs.

Here is a detailed list of supported CPUs and Devices.

What is the maximum JTAG speed supported by J-Link?

A: The maximum JTAG speed supported by J-Link BASE and J-Link PLUS is 15MHz. J-Link ULTRA+ and J-Link PRO support a maximum JTAG speed of 50MHz.

What is the maximum download speed into RAM?

A: The maximum download speed is currently about 1 MByte/s for J-Link BASE/PLUS and 3 MBytes/s for J-Link ULTRA+ and J-Link PRO when downloading into RAM. However, the actual speed depends on various factors, such as JTAG, clock speed, host CPU core etc.

Can J-Link read back the status of the JTAG pins?

A: Yes, the status of all pins can be read. This includes the outputs of J-Link as well as the supply voltage, which can be useful to detect hardware problems on the target system.

Does J-Link support the Embedded Trace Buffer (ETB)?

A: Yes. J-Link supports ETB on Cortex-M3/M4/M7 and Cortex-A9.

Does J-Link support the Micro Trace Buffer (MTB)?

A: Yes.

Does J-Link support the Embedded Trace Macrocell (ETM)?

A: No. ETM requires another connection to the ARM chip and a CPU with built-in ETM. ETM is supported by the J-Trace product family.