Development Studio 5 (DS-5)
Development Tools for ARM Systems
Quick Start Guide
The
ARM Development Studio 5 (DS-5 )
toolchain is a complete suite of software development
tools for ARM processor-based systems.
DS-5 accelerates software development by providing an
easy to use, robust, well integrated, and professionally
maintained toolchain.
®
TM
DS-5 covers all the development stages of ARM
processor-based products, from platform bring-up to
application profiling, while including a number of ARM
TM
Linux and Android specific features.
This Quick Start Guide is intended to help you through
your first steps with DS-5, from installation to
launching and using each of its component.
What’s New!
Extended Target Connection
DS-5 Debugger supports the connection to a variety of
target types, from programmer’s view models and RTL
running in EDA environments, to physical implementations
on FPGAs and ASICs.
For development of Linux and Android native applications
and libraries, DS-5 also supports the connection to the
gdbserver debug agent over a low-cost Ethernet or USB
interface.
Interface
ARM Fast Models
RTL Simulators
Hardware Emulators
FPGAs and ASICs
Linux applications
Android applications
CADI
VSTREAM
VSTREAM
DSTREAM
TCP/IP
ADB
Target Connection
Virtual
Virtual
Virtual
JTAG or Serial-Wire Debug
Ethernet or Serial
USB
GPU Profiling and Energy Analysis
The
ARM Energy Probe
adds energy analysis capability
TM
to the ARM Streamline performance analyzer, which
enables developers to correlate the target’s power
consumption with software activity and events.
Streamline also supports complete system-level profiling,
by merging information from the CPU, graphics processor,
system caches and Fabric IP into one single report. This
report visualizes the interactions between the different IP
blocks.
DS-5 includes target configuration utilities to facilitate the
bring-up of new SoCs and boards, and to configure the
TM
CoreSight debug and trace fabric of the target.
Debug Hardware Configuration
www.arm.com/ds5
Getting Started with DS-5
Downloading DS-5
Download DS-5 and a 30-day free, fully featured, evaluation
license from
www.arm.com/ds5
. Alternatively, request a
DVD from your local ARM office or tools distributor.
DS-5 is regularly updated with new functionality. In order to
use its latest features, just install the latest version available.
When you purchase DS-5 you are entitled to technical
support and access to free updates for one year.
System Requirements
The minimum computer specification to run DS-5 is:
n
dual-core host processor
2 GHz
n
2 GB
n
2 GB
of RAM (4 GB recommended)
of hard disk space.
DS-5 supports the following x86 host platforms:
n
Windows
n
Windows
n
Red Hat
n
Ubuntu
XP Professional service pack 3 (32-bit)
7 Professional and Enterprise (32/64-bit)
Running DS-5
Most of the functionality in DS-5 can be accessed from its
Eclipse-based graphical environment.
On Windows hosts, launch
Eclipse for DS-5
from the
Start Menu
?
Programs
?
ARM DS-5.
Installations on Linux hosts include a script to install and
uninstall application menus. Alternatively, execute
eclipse
from
<install_directory>\bin.
When launched, Eclipse prompts you to specify the location
of a
Workspace,
where your Eclipse settings and projects
will be stored. We recommend that you create one or more
new directories to be used as DS-5 workspaces.
Enterprise Linux 5 Desktop and
Workstation (32/64-bit)
Desktop Edition 10.04 LTS (32-bit).
Welcome Screen and Licensing
At any time you can open the DS-5 welcome screen by
selecting
Help
?
Welcome.
This screen provides links to
examples, docs, hints and tips, and support resources.
In order to license DS-5 follow the instructions on
Help
?
ARM License Manager...
The license manager provides
assistance to obtain and install a DS-5 license key associated
with your host machine. Both node-locked and floating
licenses are available.
Click on the
Go to the Workbench
link to close the
welcome screen and start using DS-5.
The DS-5 welcome screen links to useful information such as
video tutorials, step-by-step guides, examples, and documentation.
Environment Variables
The DS-5 installer does not modify any environment
variables in your system.
DS-5 only requires that the
path
environment variable
points to the
<install_directory>\bin
directory. This is
done automatically if you launch the tools from the
Eclipse
for DS-5
or the
DS-5 Command Prompt
items in the
Windows Start Menu.
Running the tools from a Linux console requires that you
manually set the path environment variable.
DS-5 includes support for Japanese localisation, both in its
graphical user interface and command line.
2
DS-5 Quick Start Guide
Eclipse IDE and Project Manager
Eclipse Perspectives and Views
A typical Eclipse workbench window contains one or more
perspectives, each of them including a set of related views,
editors, menus, and toolbars.
The main Eclipse perspectives in DS-5 are:
to import and manage software projects,
and to edit source files
n
Debug:
graphical interface for the DS-5 Debugger.
DS-5
DS-5 also includes other perspectives, such as
PyDev
for
coding debugger Jython scripts.
To open an Eclipse view, go to
Window
?
Show View.
Change the position of any view by left-clicking on its tab
and dragging it. The new location can be adjacent to existing
views or in a tabbed group.
Detach
(undock) the view to drag it to a second monitor,
or right-click on its name to add it to the
FastView
bar.
n
C/C++:
used
DS-5 Example Projects
DS-5 includes a range of examples to get you started:
n
Startup
examples include reset, MMU and cache
TM
initialization code for ARM and ARM Cortex
processors.
n
Fireworks
is an example bare-metal application
ported to the RTSMs, Beagle and Panda boards.
n
World
Hello
n
Distribution
bare-metal examples are ported to
many of the boards in the configuration database.
is a complete Linux distribution for the
Beagle board and the Cortex-A8 Real-Time System
Model, to enable driver and application development.
n
Gnometris
is an open source Linux application
similar to the game Tetris.
n
Example_library
n
Threads
demonstrates how to create a
simple shared library in C for ARM Linux.
Import Example Projects
From the C/C++ perspective, select
File
?
Import...
?
General
?
Existing Projects into Workspace.
Activate
Select archive file
and choose an example zipfile
from
<install_directory>\examples\example.zip.
The examples are decompressed into your workbench
directory and appear in the Project Explorer view.
is a simple multi-threaded Linux application
that illustrates how the tools handle multiple threads.
n
Xaos
is an example fractal application, which comes
with a pre-generated Streamline report.
n
Kernel_module
illustrates the kernel awareness
features in DS-5 Debugger. Note that it needs to be
built on a Linux host against your Linux kernel.
Create and Build Projects
Right-click on the Project Explorer and select
New
?
C or
C++ Project.
Select one of the six project templates in the DS-5 project
wizard: bare-metal executable or library, Linux executable,
shared library or static library, and makefile project. This
creates a new project with working pre-defined compiler
settings.
Template-based source and header files can easily be added
to a project. Right click on the project in the Project
Explorer view and select
New
?
Source File.
The DS-5 IDE includes powerful features to assist coding of
C/C++ and assembler files. These include syntax highlighting,
code auto-completion, and quick-jump to declaration of
variables and functions (F3 short-cut) .
Find-in-files tools are grouped under the
Search
menu.
To make or build a project, select
Project
?
Build.
Source code editing features in the DS-5 Eclipse IDE
C/C++/asm
syntax coloring
Code
auto-completion
Function, class and
variable definition
www.arm.com/ds5
3
Target Connection: Bare-Metal and Driver Debug
DSTREAM
The ARM
DSTREAM
Debug and Trace Unit provides
DS-5 Debugger with high-performance low-level debug and
trace connection to hardware targets.
DSTREAM enables DS-5 Debugger to bring up a platform
and debug bare metal software in stop-mode, with full
access to the processor and system resources.
Thanks to its large buffer DSTREAM supports long-term
off-chip trace. This enables the debug of complex, time-
related software bugs, and performance optimization of
critical code.
TM
Specification
Debug Interface
JTAG Speed
Download
Trace Buffer
Trace Speed
Trace Frequency
JTAG and Serial-Wire Debug
60 MHz
2.5 MB/s
4 GB
600 Mbps/pin (16-bit)
300 MHz DDR
DSTREAM features.
Clear visual indicators for
target status
1V
to 5V target interface,
configurable by target
DS-5 Configuration Database
DS-5 provides
pre-configured JTAG and trace
for
catalogue devices. Just choose a device on the Debug
Configurations dialog to connect the debugger to one of
these targets.
The default DS-5 configuration database is stored on
<install_directory>\sw\debugger\configdb.
However,
you can add custom configuration databases by selecting
Window
?
Preferences
?
DS-5
?
Target Database.
DSTREAM connection
to Mistral EVM
USB 2.0 or Ethernet
connection to host
Direct target connection
for optimal signal integrity
Debugging Custom Devices
The tools required to bring-up new SoCs and boards, and
add them to the configuration database are provided in the
DS-5 installation:
n
This
CSAT:
Low-Level Debug Features
DS-5 Debugger implements support for the latest ARM
processors and technology:
n
Multi-core
n
Linux
command line-based tool enables manual
control of the registers of a CoreSight Debug Access
Port and script access to the IP blocks connected to it.
n
Debug
Hardware Configuration:
This graphical
utility reads the contents of a CoreSight ROM Table to
auto-configure the target connection. It also enables
manual configuration if the table is incorrectly set up.
debug:
DS-5 supports AMP and SMP
configurations, as well as big.LITTLE systems
kernel awareness:
visualize and access kernel
threads and modules on single and multi-core targets
n
Hypervisor
n
Direct
n
ConfigDB
Import:
Use it to import the new debug
hardware configuration into a configuration database.
This utility outputs
DTSL Python scripts
(.py), which
can be used to manually modify the configuration of each
IP block with a simple scripting language.
debug:
access memory in hypervisor
mode and set virtual machine-dependent breakpoints
memory access:
using the AHB-AP port of
the CoreSight DAP for fast memory download and
debug of running systems.
4
DS-5 Quick Start Guide
Target Connection: Linux and Android Application Debug
Connecting to the Target
All you need to debug and analyze Linux applications on an
ARM processor-based target is a
TCP/IP
connection
between the target and the host computer.
Android middleware and native application development
TM
normally uses an
Android Debug Bridge (ADB)
connection over USB.
DS-5 Debugger supports both connection types, and can use
them to automatically download applications into the target
file system, launch the
gdbserver
debug agent on the target
and connect to it.
DS-5 requires gdbserver v6.8 or later. The installation
TM
includes gdbserver v7.0, which enables debugging NEON
code and multi-threaded Android libraries.
Real-Time System Models
DS-5 includes Real-Time System Models (RTSMs) of
Cortex-A8 and Cortex-A9 processor-based SoCs.
An RTSM is a fast simulation model of a complete SoC
with a processor, system memory, and peripherals such
as keyboard, mouse, UARTs, Ethernet, and LCD.
RTSMs enable ARM bare metal and Linux software
development without any hardware, and deliver
simulation speeds of over 250MHz on a typical desktop.
DS-5 includes an example
ARM Linux distribution
ported to the Cortex-A8 RTSM. When launched, the
model automatically boots Linux and enters a state in
which you can load and debug your applications.
RTSMs are configured to mount a
Virtual File System
(VFS).
The processor running in simulation can access
files in the host computer’s file system as if they were
part of its ARM Linux file system.
Linux Target File System
DS-5 integrates a
Remote System Explorer (RSE)
to
access the Linux file system on hardware targets that
support the Secure Shell (SSH). The target must include a
secure shell daemon (sshd) and
sftp-server.
RSE enables the following functionality:
n
SFTP
Files View:
Access the target’s Linux file system
using an FTP connection. Navigate, copy, paste, drag and
drop, and edit files on the target
n
Shell
n
SSH
Processes View:
Displays a list of current
processes running on the target
Shell/Terminal View:
Opens a shell or a terminal
window connected to the target in order to execute
Linux commands - for example to run an application
software download:
DS-5 Debugger uses
RSE connections to automate the download of images to
the target, executing gdbserver, and connect to it.
n
Automated
Configure Remote System Explorer
Open RSE by selecting
Window
?
Show View
?
Other...
?
Remote Systems
?
Remote Systems.
Click on the
New Connection
button
and click Next.
. Select Linux
Fill the Host name box with the IP address of the target
system, or its network name if it is registered on a DNS
server. Define a name for the connection and click Next.
In the next configuration steps choose the Secure Shell (ssh)
option, then click Finish.
Remote System Explorer SFTP and Terminal views.
www.arm.com/ds5
5