✉ Feedback
Skip to Main Content Skip to Footer Navigation

Sorry, your browser is not supported. We recommend upgrading your browser. We have done our best to make all the documentation and resources available on old versions of Internet Explorer, but vector image support and the layout may not be optimal. Technical documentation is available as a PDF Download.

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:

DSTREAM

Maximum visibility into ARM processors, with 9.6 Gbps parallel trace or 20 Gbps serial trace, 4 GB trace buffer, system autodetection with DS-5 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-ARM.

More info »

CMSIS-DAP

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 DS-5 and 3rd party ARM software development tools.  

Debugging Fast Models and Virtual Prototypes

Models can be debugged using DS-5 Development Studio or Keil MDK-ARM 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.

Debugging Emulators and RTL Simulators

VSTREAM allows debug and trace messages to be passed from a client workstation (running your software development tools) to EDA tools and hardware emulators. This is a software debug connection to an RTL simulation via the Virtual Debug Access Port.

Debug Probes Comparison

Debug Probe DSTREAM ULINKpro family* VSTREAM
Functionality Debug, Trace Debug Debug, Trace
Target type Hardware Hardware

RTL simulator
Hardware emulator

Cortex-A series support All Selected devices based on
Cortex-A5
Cortex-A8
Cortex-A9
All
Cortex-R series support All Selected devices based on
Cortex-R4
Cortex-R5
All
Cortex-M series support All Selected devices based on any Cortex-M All
ARM11 series support All - -
ARM9 series support All - -
ARM7 series support All - -
Maximum number of cores 64 4 64
Debug connectivity JTAG, SWD JTAG, SWD EDA
JTAG frequency (MHz) 60 50 -
Memory download (KB/s) 2500 1000 400
On-target trace Yes Yes -
External parallel trace ETB, ETF, ETR, up to 16 pins ETB ETB
External serial trace HSSTP, SETM - -
Trace buffer 4 GB - -
Host connectivity USB 2.0, Ethernet USB 2.0 Ethernet