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 19.2 Gbps parallel trace over 32 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 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 DSTREAM-HT 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.

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 family DSTREAM family  ULINKpro family
Functionality Debug, CoreSight trace Debug, CoreSight trace
Target type Hardware Hardware
Supported target processors All Arm Cortex and Neoverse processors

See supported devices »
Selected devices based on Cortex-A5, Cortex-A8, Cortex-A9, Cortex-R4, Cortex-R5, any Cortex-M
See supported devices »
Arm7, Arm9, Arm11 All Arm 7, Arm9
Maximum number of cores 128 – 1022 64
Cores + CoreSight devices limit 254 – 1022
Debug connectivity JTAG, SWD JTAG, SWD
JTAG frequency 60 – 180 Mhz 50
Memory download 2.5 – 12 MB/s 3
On-target trace Yes Yes
External parallel trace 4 – 32 pins Up to 4 pins
External serial trace 20 – 60 Gb/s 800 Mb/s
Trace buffer Up to 8 GB or streamed
Host connectivity USB 2.0, Ethernet or USB 3.0, Gigabit Ethernet USB 2.0
Software requirements Arm Development Studio (DSTREAM, DSTREAM-ST, DSTREAM-PT DSTREAM-HT)

Arm Development Studio, Keil MDK, DS-5