SEGGER J-Link debug probes bring JTAG development to MPLAB X IDE. J-Link Debug Probes Supported The following J-Link probe versions and types have been tested and are supported in MPLAB X IDE: Version 9 and newer: J-Link BASE The following J-Link probe versions and types should work in MPLAB X IDE: Version 9 and newer: J-Link PLUS, J-Link EDU Version 4 and newer: J-Link ULTRA+, J-Link PRO To. The Drivers are a set of fully optimized hardware specific drivers which may be added to the core component as required by your hardware. Each Driver is sold separately. Please contact SEGGER to determine which driver fits your target hardware. Note: A list of currently available USB Host drivers can be found here.
SEGGER provide support for an extensive range of MCUs with on-chip USB controllers. The driver interface has been designed in such a way that it is possible to easily add drivers for USB controllers that are not yet supported. Below is a list of supported MCUs. If your MCU is not listed, feel free to contact us about adding support. Welcome to Lauterbach – Microprocessor Development Tools: Lauterbach is the world's largest producer of complete, modular and upgradeable microprocessor development tools worldwide with experience in making world class debuggers and real-time trace since 1979.
In case you wonder why Eclipse Embedded CDT decided to provide support forSEGGER J-Link, the short answer is: because ofJ-Link EDU and of SWO.The long answer may include the following:
- wide processor support (probably you won’t find an unsupported Armprocessor in the entire galaxy, and if you do find one, in a remote quadrant,I’m pretty sure it’ll be shortly added to the list)
- it is a true multi-platform solution, providing drivers forWindows, macOS and GNU/Linux, Intel and Arm.
- it comes with a standard GDB server implementation, compatible withexisting Arm toolchains
- in addition to the classical JTAG protocol, it implements thenew SWD protocol
- when SWD is selected, it is capable to sample the SWO pin, fortrace messages and other Arm specific debugging
- it is fast, up to 15 MHz for JTAG clock and up to 7.5 MHz SWOsampling frequency for the new V9 hardware (12 MHz JTAG / 6 MHz SWO forV8, and even up to 100 MHz SWO for the high-performanceULTRA+, PRO models)
- it supports all possible target voltages, from 1.2V to 5V
- in addition to the regular debugging functionality, it is also ableto write the internal flash, and, even more, it uses a smart flashwriting algorithm, to avoid unnecessary writes if the flash blocks didnot change
- it is a mature, proven product, with a great support team
- it provides an entire range of probes,J-Link,J-Link Pro, including aspecial priced version for educational use, theJ-Link EDU (available frommany distributors, for example from Farnell)
The J-Link was present on the JTAG market for many years, but,considering the initial prices, only commercial companies could afford them.After a fierce fight against Chinese clones, sold for a fraction of theprice, in 2012 SEGGER decided to introduce alow price version, J-Link EDU,restricted to educational and non-commercial usage, making it the JTAGprobe of choice for open source Arm development.
J-Link comes not only with a GDB server, but with a complete set ofdrivers and utilities, packed by SEGGER separately for each platform.The same distribution includes drivers for all J-Link probes, soinstallation is quite simple. The J-Link binaries are availablefrom the SEGGER site.
There are different sections, grouped by platform (Windows, macOS,Intel GNU/Linux, Arm GNU/Linux); go to the platform of your choice.
Segger Usb Driver
Click the Download button close to theJ-Link Software and Documentation Pack appropriate for yourdevelopment platform. For Linux there are separate 32/64-bit versions,packed with different tools (DEB, RPM, TGZ); select the package thatbetter matches your system.
Accept the terms of the software agreement and download the software.
The J-Link GDB server is documented in theUM08001 manual,available either in the installed folder, or from theSEGGER J-Link page.
The Windows download is an executable installer, named like
- double click it to start the installation process
- enter the administrative password
- accept the license
- accept the destination folder (
C:Program Files (x86)SEGGERJLink)
- accept the default USB driver
The result of the install is a folder, and a set of driver files installedin the system folders, all overwritten with each new install.
Please note that on Windows, SEGGER provides both graphical interfaceand command line versions (having the names suffixed with
CL) formost of their tools. For the J-Link plug-in it is recommended to useonly the command line version of the J-Link GDB server(
The macOS download is a macOS package installer, named like
- double click it to start the installation process
- accept the license
- enter the administrative password, required to write in the global
The result of the install is a folder like
/Applications/SEGGER/JLink_V684/(a different folder for each version) where all executables and libraries arestored; please note that, as for many macOS applications, no other driverfiles are installed in the system folders, but some symbolic links to the latestinstalled version are created in the
Be sure to update the path in Eclipse preferences page to point to thelatest SEGGER J-Link software.
On macOS, the USB subsystem automatically identifies and allows accessto USB devices, without the need to maintain a manual list similar tothe one used by UDEV in GNU/Linux. No other drivers or systemconfigurations are required.
As already mentioned, there are multiple packages available for GNU/Linuxon the SEGGER download site, in 32/64-bitversions. Preferably download the .tgz and install it in your home folder.
For example, on Ubuntu,to install the 64-bit .tgz file, use the following commands:
Raspberry Pi OS
On a Raspberry Pi OS 64-bit, use the 64-bit .tgz file, and unpackit in
After manually unpacking the .tgz, you need to copy the rules file:
~/opt/SEGGERpath, since by default the Eclipse Embedded CDT plug-inssearch for the executables in this location. Be sure you respect the case,it is all upper-case SEGGER.
To test if J-Link is able to connect to a specific board, you generallyneed to specify the interface (JTAG or SWD) and the device name. Bydefault, J-Link GDBServer will try JTAG but if only SWD is wired(which is very common on custom hardware), you would need to specifythe interface (-if SWD). The device name is needed for targets whichrequire special handling on connect (e.g. due to silicon bugs whichmake auto-detection impossible). For a list of available device names,please refer to the SEGGERSupported devices page.
Here is an example how to test aSWD connection to a STM32F407 evaluation board (
-device STM32F407VG)on macOS.
On Windows, to start the GDB server, use back-slashes in the path and theCL (command line) version:
On Ubuntu the command is simple:
In all cases, the result should be similar to the one obtained on macOS.
The J-Link plug-in
If you successfully installed SEGGER binaries, you can proceed to thepage documenting how to use the Eclipse Embedded CDTJ-Link debugging plug-in.
Comments on the content of this page that might be useful for other readers are welcomed here. For question and general support, please use the project forums.