ARM 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 modern SoCs

The modern architecture of DS-5 Debugger abstracts the complexity of your target platform and allows 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.

Debugging through the product lifecycle

The versatility of the DS-5 debugger is ideal to standardize across whole development teams. 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 and your own SoC

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 operating sysytems (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. And 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®

Segger embOS

Quadros RTXC

Mentor Graphics® Nucleus®

Don’t waste time guessing where bugs are

All developers know, inspecting and instrumenting code to hunt down a bug can be extremely time consuming. DS-5 includes 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. 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.

One size does not fit all

DS-5 is based on a powerful and flexible framework that allows users and field engineers to customize and automate the tool to fit their specific 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. The other, even more powerful, is based on Jython - the Java implementation of Python language.

Comprehensive support for ARM technologies

For the proper tool selection 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), High Speed Serial Trace, Marvell SETM and more.