Skip navigation

J-Link Debug Probes

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.

  • 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 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 a wide range of CPUs and architectures. Be it from simple 8051 ones, through mass market Cortex-M up to high end cores like Cortex-A (32- and 64-bit). For a complete list of supported cores and devices, please refer to here.

J-Link also supports directly interfacing SPI flashes, without the need of a CPU between J-Link and the SPI flash (directly communicating via the SPI protocol). For more information, please refer to the J-Flash SPI page.

J-Link is supported by all major IDEs, from free Eclipse based ones (directly or via GDB) up to commercial ones, including SEGGER Embedded Studio. For a complete list, please refer to the Supported IDEs page.

Download into Flash memory

J-Link makes Flash memory feel almost like RAM. It can easily and very quickly download into flash memory.


J-Link Tools

The J-Link Software and Documentation Package available for download includes a significant number of tools, that ease the developer's work and extend the capabilities of J-Link. Almost all J-Link tools have cross platform support and run on Windows, Linux and macOS.


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.



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.


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.


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-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 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.


Ozone - J-Link Debugger

Ozone is a full-featured graphical debugger for embedded applications. With Ozone it is possible to debug any embedded application on C/C++ source and assembly level. Ozone can load applications built with any tool chain / IDE or debug the target's resident application without any source. Ozone includes all well-known debug controls and information windows and makes use of the best performance of J-Link and J-Trace debug probes. The user interface is designed to be used intuitively and is fully configurable. All windows can be moved, re-sized and docked to fit the need of any developer.

Ozone is more than a simple debugger. Its various features, including trace, code profiling and code coverage analysis make it a powerful performance analyzer, which enable you to get full system insight, to track down inefficiencies and bugs, and to make your products even better.



SystemView is a real-time recording and visualization tool for embedded systems that reveals the true runtime behavior of an application, going far deeper than the system insights provided by debuggers. This is particularly effective when developing and working with complex embedded systems comprising multiple threads and interrupts: SystemView can ensure a system performs as designed, can track down inefficiencies, and show unintended interactions and resource conflicts, with a focus on the details of every single system tick.


Embedded Studio

Embedded Studio is a complete all-in-one solution for managing, building, testing, and deploying your embedded applications: From the project generator which gets you easily started with common microcontrollers, to the powerful project manager, and source code editor, the included C/C++ compiler, and the integrated debugger with advanced debug information windows, and direct J-Link integration, right through to version control features for automatic deployment of your applications. Embedded Studio is the best solution for embedded C programming.

Its Visual Studio-like style offers the embedded world of engineering the same intuitive usage that PC developers are familiar with.

Model Overview

The product family of SEGGER J-Links offers a range of products for different use cases. The models are displayed below. For a feature comparison please visit the dedicated J-Link model overview.

J-Link PRO Debug Probe with Ethernet

J-Link PRO



J-Link PLUS Debug Probe



J-Link PLUS Compact




J-Link BASE Compact


J-Link EDU


J-Link EDU Mini

J-Link Ecosystem

In addition to SEGGER's own software, the J-Link supports a host of 3rd party software aiding embedded system development. For details about the supported development tools, please visit the overview of supported IDEs and the 3rd party applications.

To access the J-Link and benefit from J-Link's feature set the tools can either directly access the J-Link SDK, or use the GDB-Server interface provided by the J-Link software.

GDB Support

J-Link can be used with GDB based setups.

The GNU Debugger (GBD) is the de facto debugger when developing on Linux systems. However, it also found its way into embedded development (also without Linux running on the target system). GDB provides a standardized interface / API that can be used by an IDE.

It also specifies a standardized protocol (GDB remote protocol) which allows GDB to communicate with a GDBServer that knows how to handle the debug probe connected to the target. The J-Link software package comes with the J-Link GDBServer which allows using J-Link in GDB based setups.

LLDB Support

J-Link can be used with LLDB.

While originally, GNU toolchains provided GCC as compiler and GDB as debugger, with the introduction of Clang as compiler, there was also the introduction of LLDB which is basically a successor or GDB. Protocol-wise it is backward compatible to GDB while the API for the IDE is slightly different. The J-Link software package comes with the J-Link GDBServer which also allows using J-Link in LLDB based setups.

OpenOCD Support

J-Link can be used with OpenOCD (Open On-Chip Debugger).

OpenOCD is an open-source software that can interface basically any debug probe. It provides a standardized API, allowing an IDE to support OpenOCD. There are several tutorials on the internet that describe how to use J-Link with OpenOCD.

Note: OpenOCD is a 3rd party software, so SEGGER cannot provide any guarantees etc. Using J-Link with OpenOCD bypasses all J-Link specific features like flash programming, unlimited flash breakpoints and the J-Link high debugging speed. OpenOCD will handle J-Link as a simple sequence generator which will affect the debug performance. Please also note that using J-Link with OpenOCD is not covered by the standard J-Link support. Support for OpenOCD is provided by the OpenOCD community.

Full insight - J-Link control panel

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


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..


J-Link Videos


SEGGER J-Link Flash Breakpoint Introduction


SEGGER J-Flash Introduction


Ultra high speed flash programming

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.

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.


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.


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


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.


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


  • 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


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-A/R (if implemented by target device).

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.