How to use SWO with GDB

From SEGGER Wiki
Jump to: navigation, search

Generally a GDB client does not support SWO. But luckily, the J-Link GDB server is able to work around this and send SWO data to a socket. This article is a step-by-step guide about how to use SWO with J-Linkg and a GDB client.

Default settings

If not set differently, J-Link GDB Server will use default settings:

  • Telnet port: 2331
  • SWO data port: 2332

Example with a MK22FN512xxx12 device using putty (default ports)

This example shows how to setup J-Link GDB Server, a GDB client and Putty for SWO. It was created by using default port settings. Further information about setting different ports and more can be found in UM08001. In this example the following applications were used:

  • J-Llink GDB Server V6.54a
  • ARM GDB client (V7.3.1)
  • Putty (V0.70)

Setting up the J-Link GDB Server

  1. Open the J-Link GDB Server
  2. Set all options as required:
    SetupSWO GDBServer.PNG
  3. Start the J-Link GDB Server

Setting up the GDB client

  1. Open a command line GDB client
  2. Connect to the J-Link GDB Server. This can be achieved via these commands:
target remote :2331
monitor SWO EnableTarget 0 0 1 0

SetupSWO GDBClient.PNG

Setting up putty

  1. Open putty
  2. Setup putty as required:
    SetupSWO PuttySettings.PNG

Example output

SetupSWO PuttyOutput.PNG

SWO Example project

SEGGER Embedded Studio (V4.30a or later) SWO example for MK22FN512xxx12: File:NXP K22