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 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 »
Maximum visibility into ARM processors, with 2.4 Gbps parallel trace over 4 pins, streams trace data directly to host PC, system autodetection with DS-5 and a range of target connectors including JTAG, MICTOR and CoreSight.More info »
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 »
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.
DS-5 Debug Probes Comparison
|Debug Probe||DSTREAM||DSTREAM-ST||ULINKpro family*||VSTREAM|
|Functionality||Debug, Trace||Debug, Streamed Trace||Debug||Debug, Trace|
|Cortex-A series support||All||All||Selected devices based on
|Cortex-R series support||All||All||Selected devices based on
|Cortex-M series support||All||All||Selected devices based on any Cortex-M||All|
|ARM11 series support||All||All||-||-|
|ARM9 series support||All||All||-||-|
|ARM7 series support||All||All||-||-|
|Maximum number of cores||64||128||4||64|
|Debug connectivity||JTAG, SWD||JTAG, SWD||JTAG, SWD||EDA|
|JTAG frequency (MHz)||60||180||50||-|
|Memory download (KB/s)||2500||12000||1000||400|
|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||-||-|
|Host connectivity||USB 2.0, Ethernet||USB 3.0, Gigabit Ethernet||USB 2.0||Ethernet|