Debug connections to Arm-based processors and development boards

For embedded C/C++ software development, Arm provides both JTAG and Serial Wire Debug (SWD) connections via a range of debug probes which are tuned to the needs of the system. Whether it's high-speed serial trace in a deeply embedded system, or simple microcontroller debug, Arm and our partners provide the right tools for the job.

JTAG and SWD debug hardware

The following debug hardware probes and integrations are available, for direct access into Arm's CoreSight debug and trace architecture:



Maximum visibility into Arm processors, with up to 2.4 Gbps parallel trace over 4 pins, streams trace data directly to host PC, system autodetection with Development Studio and a range of target connectors including JTAG, MICTOR and CoreSight.

More info »


ULINK Family

JTAG or SWD debug connections to Arm-based microcontrollers running at clock speeds of up to 200 MHz. ULINKpro allows ETM trace capture at up to 800 Mbps and streaming trace direct to Keil MDK.

More info »



For simple debug over driverless USB, CMSIS-DAP provides an abstraction of the CoreSight Debug Access Port command set. The JTAG/SWD connection is incorporated into the board-level layout.

More info »


The benefits of high-speed serial trace

Trace is an essential tool for the resolution of complex software/hardware and timing-related issues, as it enables post-analysis of a software execution without the need for any software or hardware.

Trace can either be collected using the default parallel trace probe supplied with DSTREAM-PT or alternatively, using the High-Speed Serial Trace Probe (HSSTP). This allows for high- bandwidth serial trace capture of up to 60 Gbps from Arm HSSTP or Marvell® SETM.

Trace configuration and analysis in Development Studio

Development Studio offers advanced configuration options for collecting trace data and analysis with the Trace view. You can start focusing only on the critical sections of a program and avoid filling the trace buffer rapidly when collecting High-Speed Serial Trace.

  • Use tracepoints to start and stop trace at specific points in your code
  • Filter trace data types that you're interested in
  • Search for timestamps, functions and instructions by addresses to sift through trace data quickly and efficiently

Learn more about trace support in Development Studio

Debug Probes Comparison

Debug Probe
Functionality Debug, Trace Debug, Streamed Trace Debug
Target type Hardware Hardware Hardware
Cortex-A series support All All Supported Devices based on
Cortex-R series support All All Supported Devices based on
Cortex-M series support All All Supported Devices based on any Cortex-M
Arm11 series support All All -
Arm9 series support All All -
Arm7 series support All All -
Maximum number of cores 128* (See Cores + CoreSight devices limit) 1022* (See Cores + CoreSight devices limit)  4
Debug connectivity JTAG, SWD JTAG, SWD JTAG, SWD
JTAG frequency (MHz) 60 180 50
Memory download (KB/s) 2500 12000 1000
On-target trace Yes Yes Yes
External parallel trace Up to 16 pins Up to 4 pins -
External serial trace HSSTP, SETM - -
Trace buffer 4 GB None - streamed to host PC -
Cores + CoreSight devices limit   254 (up to 128 CPUs) 1022  -
Host connectivity USB 2.0, Ethernet USB 3.0, Gigabit Ethernet USB 2.0