J-Link debug probes are the most popular choice for optimizing the debugging and flash programming experience. Benefit from record-breaking flash loaders, up to 4 MB/s RAM download speed and the ability to set an unlimited number of breakpoints in the flash memory of MCUs.
J-Link also supports a wide range of CPUs and architectures. Everything from single 8051 to mass market Cortex-M to high-end cores like Cortex-A (32- & 64-bit), RISC-V, PIC32, RX…
Multi-platforms support (Windows, MAC, Linux).
J-Link supports directly interfacing SPI flashes, without the need of a CPU between J-Link and the SPI flash (directly communicating via the SPI protocol). J-Link is further supported by all major IDEs, from free Eclipse-based ones (directly or via GDB) up to commercial ones, including SEGGER Embedded Studio. See a complete list of supported IDEs here, a complete list of supported devices here and a list of SPI Flashes here.
J-Link makes Flash memory feel almost like RAM. Since it comes with a set of speed-optimized, built-in flash loaders it can easily and quickly be downloaded into flash memory. Take a look below to find out more information.
The J-Link Software and Documentation Package available for download includes a significant number of tools that make a developer’s job easier and extend the capabilities of J-Link. Almost all J-Link tools have cross platform support and run on Windows, Linux and macOS.
Ozone is a full-featured graphical debugger for embedded systems – and so much more. Thanks to features such as trace, code profiling and code coverage analysis, it is also an extremely powerful performance analyzer. Ozone allows for the debugging of any embedded application on C/C++ source and assembly level, load applications built with any toolchain/IDE or even debug the target’s resident application without any source.
Ozone includes all well-known debug controls and information windows, making use of the best performance of J-Link and J-Trace debug probes. The user interface is highly intuitive, yet fully configurable. Each window can be moved, re-sized and docked to fit every developer’s needs.
SystemView ensures that systems perform as they are designed. It is a real-time recording and visualization tool for embedded systems, revealing the true runtime behavior of an application. In fact, it even goes far deeper than system insights provided by standard debuggers.
And that’s exactly what is needed when working with complex embedded systems. SystemView tracks down inefficiencies, shows unintended interactions and resource conflicts: all with a focus on the details of every single system click.
Embedded Studio is a complete, all-in-one solution for managing, building, testing, and deploying embedded applications. It is the best solution for embedded C programming: with a Visual Studio-like appearance, embedded engineers get the same intuitive usage PC developers enjoy.
With Embedded Studio, developers get a powerful project generator for an easy start with common microcontrollers. Included is also a project manager, a source code editor, C/C++ compiler and integrated debugger.
No matter the use case, the SEGGER J-Link product family has a device for each and everyone. Take a look at the models below. For more information (such as feature comparison), go to the J-Link model overview.
J-Link supports SEGGER’s own software, of course, while also offering support for a host of 3rd-party embedded system development options.
To find out more, have a look at the overview of supported IDEs and the 3rd party applications.
J-Link can be used with GDB based setups. The GNU Debugger (GBD) is the de facto debugger for development on Linux systems. However, it has now found its way into embedded development (even 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 which 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.
J-Link can be used with LLDB. Originally, GNU toolchains provided GCC as a compiler and GDB as a debugger. Since Clang’s introduction as a compiler, LLDB was introduced (which was essentially a GDB successor). In terms of protocol, it is backward compatible to GDB whilst the API for the IDE is slightly different.
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 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.
No more guessing! The J-Link Control Panel provides full transparency about J-Link’s current activities. The Control Panel is available on all platforms (Windows, Linux, macOS). No additional utility for installation required. It is available through a standard web browser.
Consider the following scenario: An IDE has been chosen and the developer has started working with it. Then, a new and useful feature is introduced to the J-Link software, but the IDE itself hasn’t adopted it yet. Perhaps even worse, the IDE cannot be updated due to certification reasons. This is where the J-Link control panel provides the opportunity to make use of new J-Link features; without even touching the IDE itself.