Blog Home

Enhance your Arduino development with fast and easy debugging from Segger

Arduino TeamAugust 12th, 2021

Arduino has partnered with Segger to further support developers in creating their own embedded systems, implementing compatibility of Segger debugging solutions with Portenta boards. 

Debuggers are the scalpel that allows a developer to dissect any application code running on embedded hardware. This versatile tool helps the programmer to halt programs at specific points, inspect values stored in memory units, modify CPU registers and enter test data to narrow down on buggy pieces of code. This tool comes in handy when you want to locate malfunctioning code and fix faulty program execution.

J-Link debug probes are the most popular choice for optimizing the debugging and flash programming experience. Among the key benefits are:

  • Record-breaking flashloaders, up to 3MB/s RAM download speed.
  • Unlimited Flash Breakpoints feature allows the user to set an unlimited number of breakpoints when debugging in flash memory.
  • Wide range of CPUs and architectures supported; in fact, everything from single 8051 to mass market Cortex-M to high-end cores like Cortex-A (32- & 64-bit).
  • Direct interface with SPI flashes, without the need of a CPU between J-Link and the SPI flash.
  • Supported by major IDEs.

In the meantime, we’re working to make the Arduino IDE 2.0 compatible with Segger debugger solutions.

To quickly get started, check out our new tutorials on the Portenta Breakout and MKR boards. You’ll learn how to debug your Arduino sketch by connecting Portenta Breakout to the Segger J-link device and using the Ozone debugger and performance analyzer.

Ozone is Segger’s full-featured graphical debugger for embedded systems. Thanks to features such as trace, code profiling and code coverage analysis, it’s also an extremely powerful performance analyzer. Ozone supports the debugging of any embedded application on C/C++ source and assembly level. It can load applications built with any toolchain/IDE and even debug the target’s resident application without any source. Ozone includes all well-known debug controls and information windows, while making use of the best performance of J-Link 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.

There are four different J-Link models already available on the Arduino Store:

  • J-LINK BASE COMPACT: USB powered JTAG debug probe supports a large number of CPU cores. Based on a 32-bit RISC CPU, it can communicate at high speed with supported target CPUs.
  • J-LINK PLUS COMPACT: With this compact version of the J-Link PLUS, users have an unlimited number of flash breakpoints. Mounts securely and unobtrusively into development and end user equipment
  • J-LINK EDU: Reserved for educational purposes, the J-LINK EDU offers the same functionalities as the J-Link BASE. It’s been designed to allow students, educational facilities and hobbyists access to top of the line debug probe technology.
  • J-LINK EDU MINI: The smallest J-Link debugger, intended for non-commercial use.

To connect the Portenta boards with J-Link debuggers, there are two adapters available: Segger’s 50-Mil 10-Pin Patch Adapter and J-Link 19-pin Cortex-M Adapter. The 50-Mil 10-Pin Patch Adapter converts the standard 20 pin 0.1″ connector to the standard 10-pin 0.05″ Cortex-M connector. This allows custom connections/wiring between the 20-pin and 10-pin side.

The 19-Pin Cortex-M Adapter allows JTAG, SWD, and SWO connections between J-Link and Cortex-M based target hardware systems. It adapts from the 20-pin 0.1” JTAG connector to a 19-pin 0.05” Samtec FTSH connector as defined by Arm.

For more information and tech specs, please check out the Segger items in the store.