DS-5 Tutorials

In this section you can find links to step-by-step tutorials that will help you get you set up with ARM® DS-5 Development Studio in almost no time.

The tutorials are split into categories associated to the product functionality, and serve as practical hands-on guide to complement the comprehensive product documentation available on ARM Infocenter.

Get Started

Using DS-5, write your first "Hello World" C program for ARM with these tutorials, covering ARM Compiler for bare-metal and GCC for Linux. We have also included a short guide for installation and licensing.

Getting Started with ARM DS-5
Linux application debugging using ARM DS-5
Debugging on bare-metal targets using DS-5 and GCC compiler


Get set up with DS-5 by following our licensing tutorials. These guides walk you through generating your license to renewing your support and maintenance entitlement, so that you can focus on getting the most out of DS-5 knowing that our experts are always on hand.

Renewing your support and maintenance entitlement
Installing floating licenses for DS-5
Installing node-locked licenses for DS-5
Upgrading from RVDS to DS-5

Project Management and Code Editing

Get to know the Eclipse environment on which ARM DS-5 Development Studio is based. This tutorial guides you through importing the range of example projects that are packaged with DS-5, so that you can get a FVP model or development board up and running easily.

Importing the DS-5 Example Projects
Building bare-metal applications in DS-5 using GCC compiler
Adding New Compiler Toolchains to DS-5
Using Subversion with Eclipse for DS-5
Using Git with Eclipse for DS-5

ARM Compiler 5

Understanding the ARM Compiler (armcc) is essential to producing efficient C code, as its host of optimization techniques such as common subexpression elimination, NEON™ autovectorization and instruction scheduling are tied fundamentally into the ARM architecture. Knowing when to use optimization levels -O0, -O1, -O2 and -O3 can improve your code for either execution time or code size. Follow the tutorials from the basics of compiling “Hello World”, to understanding advanced features and get the most out of your processor.

Building "Hello World" using the ARM Compiler
Beyond "Hello World": Advanced ARM Compiler Features
ARM Compiler optimization
Accessing memory-mapped peripherals
Targeting processors, floating-point units, and NEON 
Using inline assembly to improve code efficiency

ARM Compiler 6

ARM Compiler 6 is ARM's LLVM-based next-generation toolchain. Learn how to use it for code generation when working with bare-metal embedded systems, based on the ARMv8 architecture.

ARM Compiler 6: Bare-metal Hello World C using the ARMv8 model
Migrating Projects from ARM Compiler 5 to ARM Compiler 6


ARM DS-5 Development Studio includes a powerful debugger, built to help you track down bugs whether you are working on a model, or debugging a Linux application on a smartphone. The tutorials in this section help you to enable multicore debugging via USB using CMSIS-DAP, debug Linux applications with DS-5 Community Edition, or debug DS-5 example applications such as Xaos on the Cortex®-A8 powered BeagleBone Black.

Enabling CMSIS-DAP debug on the Tower System
Vybrid Tower System Debug Session Tutorial
Linux Application Debug Tutorial
How to Create an ETR Configuration Tab in the DS-5 DTSL Options Dialog
On-Target Trace Using the CoreSight Access Library
Installing Debug Support Packages for Custom or Third Party Devices
Importing Models into DS-5
Tracing using DS-5 Debugger from the Command Line
SoC Bring-Up Using the Platform Configuration Editor (PCE)
In depth analysis of autoconfiguring with PCE
Linux Symmetric Multiprocessing Kernel Debug
Low Level Debug using CSAT on ARMv8-based Platforms
How to use CSAT CoreSight Components

Profiling and System Optimization

Streamline is a great tool for inspecting overall system performance and drilling down into processes or individual lines of code which are causing bottlenecks and hotspots. These tutorials show you how to open the sample report, get Streamline working on Android devices and more generally to optimize applications on Linux systems.

Android Performance Analysis (Streamline) Tutorial
Analyzing the Example Streamline Report
Linux Performance Analysis (Streamline) Tutorial
Using Streamline to Optimize Applications for Mali GPUs
Using DS-5 and Streamline with Linux on ARMv8-based platforms
Using the Performance Monitoring Unit (PMU) Event Counters in DS-5