Debug

DS-5 Debugger helps you get to the root of software bugs throughout your development process. From device bring-up to application debug, it can be used to develop code on RTL simulator, virtual platform and hardware, to help you get your products to market ahead of the competition.


A debugger for the complexity of modern SoCs

The modern architecture of DS-5 Debugger abstracts the complexity of your target platform to allow you to focus on what really matters: getting your software right. DS-5 enables you to seamlessly debug through asymmetrical (AMP), symmetrical (SMP) and heterogeneous (big.LITTLE™ technology) multiprocessing systems. DS-5 provides a python scripting interface for advanced users to configure each ARM® CoreSight™ component on the SoC exactly the way they want it, while keeping the debugger interface simple and intuitive for everyone.

Multicore support in DS-5, showing a Cortex-A53 & Cortex-A57 big.LITTLE configuration


Debugging through the product lifecycle

The versatility of the DS-5 debugger makes it the ideal tool to standardize on across your whole team. From silicon bring-up through to application development, your team can benefit from increased collaboration and a uniform user experience. To support you through all stages, DS-5 supports a wide range of target connection methods, from the CADI interface to ARM processor models, through JTAG and trace, to Internet Protocol (IP) over Android™ Debug Bridge (ADB).

 

Support for leading devices, plus your own

DS-5 ships with pre-loaded debug configurations and examples for many popular devices so all you have to do is select yours and start debugging. However, if you are designing your own SoC or are developing software for a less popular ASIC, your device may not be in the list. In these cases, DS-5 Debugger and DSTREAM can be used to quickly scan your device and create a new device configuration describing not only its processor cores but also other debug blocks such as cross-triggers, trace macrocells and trace funnels. See supported targets.


Target operating system awareness

Debugging is never trivial. But when your code runs on top of a third-party operating system (OS) things can get very blurred if you can’t see what what’s going on underneath. For this reason DS-5 Debugger integrates in-depth visibility into popular real-time OSs (RTOS) as well as into Linux and Android. On compatible targets you can easily visualize all tasks/threads and their call frame, set task/thread-specific breakpoints, and view kernel resources such as mailboxes and semaphores as you step through your code. When debugging the Linux kernel you can also view and load symbols for dynamically loaded modules, as well as setting pending breakpoints. Supported operating systems include:

  • Linux & Android
  • FreeRTOS
  • Keil® RTX
  • Freescale® MQX™
  • Micrium® μCOS-III
  • Express Logic ThreadX®

RTOS awareness in ARM DS-5, showing Freescale MQX


 

Don’t waste time guessing where bugs are

Inspecting and instrumenting your code to hunt down a bug can be very time consuming. DS-5 brings two technologies that allow you to keep a history of your code execution so it can be reviewed when things go wrong. The first is based on the non-intrusive ARM CoreSight trace technology and ARM DSTREAM’s 4-Gigabyte deep buffer. Learn more about CoreSight trace and RTOS debug in this blog. The second is the unique Application Rewind feature, which can record everything that your C/C++ Linux or Android application does and only requires a TCP/IP connection. Learn more about Application Rewind in this recent blog.


One size does not fit all

DS-5 has been built on a powerful and flexible framework that allows users and field engineers to customize and automate the tool to fit their needs. At its heart, the debugger brings support for two scripting interfaces: one is based on the DS-5 Debugger command line, which is similar to GDB command language, and the other, more powerful, based on Jython, the Java implementation of Python language.

Custom Jython scripting for setting breakpoints to record performance monitoring unit (PMU) of a Cortex-A15

Comprehensive support for ARM technologies

When selecting the tools for your next project, in addition to the basic run-control support, make sure you check whether other ARM technologies are supported. With DS-5 you will have access to the full potential of your ARM device, including support for ARM TrustZone™, Cross Trigger Interface (CTI), virtualization extension, AArch32 and AArch64 (in DS-5 Ultimate Edition), Large Physical Addressing (LPA), Program / Embedded / Instrumentation / System Trace Macrocells (PTM, ETM, ITM, STM), Embedded Trace Buffers (ETB), Embedded Trace Routers (ETR) and more.

CoreSight, Cortex and TrustZone are all supported within DS-5, along with AArch32 and AArch64 architectures, make them work together


Compare DS-5 Debug Probes

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

RTL simulator
Hardware emulator

Cortex-A series support All Selected devices based on
Cortex-A5
Cortex-A8
Cortex-A9

All ARMv7

All
Cortex-R series support All Selected devices based on
Cortex-R4
Cortex-R5
All All
Cortex-M series support All Selected devices based on any Cortex-M All All
ARM11 series support All - All -
ARM9 series support All - All -
ARM7 series support All - All -
Maximum number of cores 64 4 16 64
Debug connectivity JTAG, SWD JTAG, SWD JTAG EDA
JTAG frequency (MHz) 60 50 50 -
Memory download (KB/s) 2500 1000 1500 400
Trace collection ETB, 16-bit TPIU ETB ETB ETB
Trace buffer 4 GB - - -
Host connectivity USB 2.0, Ethernet USB 2.0 USB 2.0, Ethernet Ethernet

* Specification for this product refers to its use with ARM DS-5 only

1 Legacy

Important Information for ds.arm.com

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ds.arm.com uses three types of cookies: (1) those that enable the site to function and perform as required; (2) analytical cookies which anonymously track visitors while using this site; and (3) cookies which track visitors while using this site and then link to that visitor’s account once they log in or register.

If you are not happy with this use of these cookies please review our Cookie Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.