Overview

For embedded system development, you will usually want to connect your target hardware to a host to perform debugging. Arm provides both JTAG and Serial Wire Debug (SWD) connections through a range of debug probes which are tuned to the needs of the system:

  • DSTREAM and DSTREAM-ST enable powerful software debug and optimization of any Arm processor-based hardware target.
  • The ULINK family provides uncomplicated debug, enabling cost efficient run-control debug on devices ranging from microcontrollers to multicore application processors.
  • CMSIS-DAP provides simple debug over driverless USB.

For application development on Linux or Android, it is common to use GDB (the GNU Project Debugger) or ADB (Android Debug Bridge).

Debug Probes and Adapters gives more information, including a comprehensive overview and comparison of the available solutions.

Debugging with DSTREAM and DSTREAM-ST

DSTREAM and DSTREAM-ST enable powerful software debug and optimization of any Arm processor-based hardware target.

The following resources will help you get started debugging with DSTREAM:

Debugging with the ULINK family

The following resources will help you get started debugging with the ULINK family:

Debugging with CMSIS-DAP

CMSIS-DAP provides simple debug over driverless USB.

The following resources will help you get started debugging with the ULINK family:

  • The Enabling CMSIS-DAP debug on the Tower System tutorial shows how to update the OpenSDA firmware on your NXP Semiconductors Vybrid Controller Tower System module to enable multicore debug with Arm DS-5 via USB using CMSIS-DAP (Cortex Microcontroller Software Interface Standard – Debug Access Port).
  • The CMSIS-DAP Debugger User's Guide describes the configuration options of the CMSIS-DAP Debugger driver implemented in µVision. The driver can be used to flash and debug applications on Cortex-M processor-based devices.

Debugging with GDB

For application development on Linux or Android, it is common to use GDB (the GNU Project Debugger) for debugging.

The following resources will help you get started debugging with GDB: