DS-5 Debugger

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).

  • RTL Simulators

    Development Stage:


    Debug Connection:


  • Virtual Platforms & Fast Models

    Development Stages:

    Pre-silicon,OS porting and application development

    Debug Connection:


  • Custom Hardware

    Development Stages:

    Board bring-up, OS porting and application development

    Debug Connection:

    ARM DSTREAM, ARM®Keil® ULINKpro family

  • Development Boards

    Development Stages:

    Silicon evaluation, firmware development

    Debug Connection:

    CMSIS-DAP over USB, 
    ARM Keil ULINKpro family

  • Android & Linux Devices

    Development Stages:

    Linux and Android native libraries and application

    Debug Connection:

    GDB Remote Protocol or Application Rewind agent (undodb) via ADB or Ethernet.


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.

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
  • NXP Semiconductors MQX™
  • Micrium® μCOS-III
  • Express Logic ThreadX®
  • Segger embOS
  • Quadros RTXC
  • Mentor Graphics® Nucleus®

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 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, Large Physical Addressing (LPA), Program / Embedded / Instrumentation / System Trace Macrocells (PTM, ETM, ITM, STM), Embedded Trace Buffers (ETB), Embedded Trace Routers (ETR), High Speed Serial Trace, Marvell SETM and more.

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