Skip navigation

J-Link GDB Server

The J-Link GDB Server is a remote server for the GDB which allows to use J-Link with GDB or any toolchain which uses GDB as debugging interface, such as Yagarto and Sourcery G++).

The GDB and GDB Server communicate via a TCP/IP connection, using the standard GDB remote serial protocol.

The J-Link GDB Server Software Package

The GDB supports a standard set of commands like open elf/bin files, reading/writing memory, etc. Beside this, the GDB also supports so called monitor commands which are passed to the GDB Server and interpreted by it, allowing it to implement J-Link specific commands like reading/writing CP15 registers, enabling flash download via J-Link, using Unlimited Flash Breakpoints, enabling semihosting, etc.

In general, the J-Link software and documentation package comes with two versions of the GDB Server: A GUI based one and a command-line version.

GNU Project Debugger (GDB) Overview

The GNU Project Debugger (GDB) is a freely available debugger, distributed under the terms of the GNU Public license (GPL). It connects to an emulator via a TCP/IP connection. It can connect to every emulator for which a GDB server software is available. The latest Unix version of the GDB is freely available from the GNU committee under:


J-Link GDB Server comes with cross-platform support and is available for Windows, Linux and Mac OS X.


To use the J-Link GDB Server, you have to meet the following requirements:

Protocol Extensions

  • SWO support

GDB Server supports transfer of SWO data (terminal output, instrumentation trace, PC samples, etc.)

Supported Cores

Currently, the J-Link GDB Server can be used with the following CPU cores:

  • ARM7/9/11
  • Cortex-A5/A8/A9
  • Cortex-M0/M0+/M1/M3/M4/M7
  • Cortex-R4
  • Microchip PIC32
  • Renesas RX610, RX621, RX62N, RX62T, RX630, RX631, RX63N

J-Link GDB Server

J-Link GDB Server (GUI Version)

The J-Link GDB Server's user interface shows information about the debugging process and allows the user to configure some settings like target endianess, if memory reads should be cached in order to improve performance or if a logfile shall be generated.

J-Link GDB Server (Command Line Version)

The command line version of J-Link GDB Server is a special version of the J-Link GDB Server which does not provide any GUI interface and has been especially developed for J-Link Linux & MAC support.

It basically provides the same features as the GUI Version of J-Link GDB Server. The command line version of the J-Link GDB Server is also available for Windows and comes with the regular J-Link software and documentation package.

Setting up the J-Link GDB Server

Typically, most of the GDB and target setup is done from GDB via remote commands (monitor) in the .gdbinit file. The commands used in the .gdbinit file are performed before the download of the application into the target memory is performed. This allows the user to perform initialization steps which might be necessary to enable the access to the target memory.

The .gdbinit file also allows to use download into flash memory via J-Link and Unlimited Flash Breakpoints. Nevertheless, some options need to be setup when starting the GDB Server (Target endianess, device name for devices which need a special connect sequence) since this information is needed to guarantee a proper target connection

Protocol Extension

  • SWO support

GDB Server supports transfer of SWO data (terminal output, instrumentation trace, PC samples, etc.)