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 9.6 Gbps parallel trace or 20 Gbps serial trace, 4 GB trace buffer, system autodetection with Development Studio and a range of target connectors including JTAG, MICTOR and CoreSight. 

More info »


Maximum visibility into Arm processors, with 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 »

Debug over TCP/IP and Model Debug

Debugging Linux and Android Applications

For application development on Linux or Android, it is common to use GDB (the GNU Project Debugger) or ADB (Android Debug Bridge). These methods of debug do not make a connection into the lower level CoreSight architecture of a system and instead rely on a server to allow software debug. GDB is integrated into tools such as Development Studio and 3rd party Arm software development tools.  

Debugging Fast Models and Virtual Prototypes

Models can be debugged using Arm Development Studio or Keil MDK over the Component Architecture Debug Interface (CADI), which is a C++ API. To a software developer, this is abstracted, so connecting to a model for debug follows the same process as any other debug connection.

DS-5 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

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.