ARM DS-5 Development Studio Overview · • ARM Compiler 5 and 6 C/C++ toolchains for bare-metal...

21
1 Development With ARM ® DS-5 Mervyn Liu FAE Aug. 2015

Transcript of ARM DS-5 Development Studio Overview · • ARM Compiler 5 and 6 C/C++ toolchains for bare-metal...

1

Development With ARM® DS-5

Mervyn Liu

FAE

Aug. 2015

2

Support for all Stages of Product Development

VSTREAM™

Virtual debug

Interface

RTL simulator

and emulator

Fast Models

CADI

Virtual platform

DSTREAM™

High performance

debug and trace

Catalog MCU/MPU FPGA and silicon

ULINKpro D

Low cost debug

for MCUs

TCP/IP

Application debug

and analysis

Linux/Android

devices

Single IDE, compiler, debug, trace and performance analysis for all stages in the

product development leads to higher engineering efficiency

3

DS-5 Key Components

DS-5 IDE

• Powerful, customized editor based on industry standard Eclipse IDE 4.3

• Hundreds of compatible plugins

Streamline Analyzer

• CPU, GPU, interconnect performance and power analysis

• Time- and event-based profiling

DS-5 Debugger

• Comprehensive device bring-up tools and s/w debugger for single- and multi-core platforms

• OS aware debug, on silicon, virtual platform and emulator

Compilation Tools

• ARM Compiler 5 and 6 C/C++ toolchains for bare-metal and RTOS

• Integrated Linaro GCC for ARM Linux

4

The reference compiler for the ARM architecture Bare-metal C/C++ compiler for pre-ARMv8 architectures

Leading ecosystem including RTOS, middleware and tools

Best code size/performance balance

Co-developed with ARM processors Earliest support for new processor features

Vectorizing compiler delivers up to 3x improvement using NEON

Minimizing risk Accurate, reliable code generation for over 20+ years

Option for safety functional qualification kit

Extended and long-term maintenance options

ARM proprietary license (GPL-free)

ARM Compiler 5 Robustness and efficiency built on decades’ investment

80%

90%

100%

110%

120%

130%

RVDS 3.1 RVDS 4.0 DS-5

Performance

Codesize

RVDS 2.2

5

Based on modern compiler framework Clang/LLVM

Framework for collaboration with partners

Modern architecture with potential for faster optimization work

Support for ARMv8 instruction sets AARCH32/AARCH64 (Ultimate Edition)

Roadmap for further optimizations on ARMv8, as well as ARMv7-A/R/M support

Much more than open source compiler

Bare metal assembler, linker and librarian

Industry-leading embedded C and C++ libraries

Early access support for new processors and architectures

Support and maintenance services

ARM Compiler 6 The next generation compiler for ARM processors

6

Linaro GCC Toolchain Integrated and validated compilation toolchain for Linux

Fuzz-free code generation for Linux kernel and applications

Fully integrated, ready-to-use toolchain

Optimized for ARM application processors up to ARMv8-A

Compatible with DS-5 Debugger and Streamline

Or use your own GNU compilation toolchain

DS-5 allows installation and use of other version of GCC to suit your requirements

7

DS-5 Key Components

DS-5 IDE

• Powerful, customized editor based on industry standard Eclipse IDE 4.3

• Hundreds of compatible plugins

Streamline Analyzer

• CPU, GPU, interconnect performance and power analysis

• Time- and event-based profiling

DS-5 Debugger

• Comprehensive device bring-up tools and s/w debugger for single- and multi-core platforms

• OS aware debug, on silicon, virtual platform and emulator

Compilation Tools

• ARM Compiler 5 and 6 C/C++ toolchains for bare-metal and RTOS

• Integrated Linaro GCC for ARM Linux

8

Flexible Architecture Adapts to the complexity of new SoCs, and enables third parties to support debug and

trace on their IP

DS-5 Debugger

Third Party Debugger

Debug & Trace

Services Layer

(DTSL)

CoreSight IP configuration, debug

multiplexing, and trace de-

multiplexing.

RDDI

JTAG

Third Party

Trace Consumer

Debuggers & Trace

Consumers

Python scripts

to configure:

• CoreSight IP

• Pin muxing

• Resets

• Trace fabric

Template Development Kit

Support 3rd party IP debug via

DSTREAM

RDDI

Socket

Remote Device Debug Interface

Connect 3rd party debuggers to the target via

DSTREAM

RDDI

9

DS-5 Debugger Engineered to accelerate software deployment on ARM

Eclipse GUI CLI

Scripting

Stop-mode Trace Run-mode

OS Awareness

Target Connection

• Intuitive graphical interface

• Familiar GDB-like command line i/f

• Advanced scripting using Jython language

• Command line scripting with triggering from events

• Built-in support for Linux, Android and popular RTOSs

• Task-aware debug and visibility into OS data

• Stop-mode and bidirectional native apps debug

• Non-intrusive program and system trace

• DSTREAM and compatible probes

• Supports virtual platforms and emulators

Device Configuration Database • Supports UP, AMP, SMP, and ARM big.LITTLE™ technology

• Extensive list of pre-configured devices

10

Leading IP Support in DS-5 Debugger

Direct memory access via the DAP Flexible cross-trigger configuration

AMP, SMP, b.L and multi-cluster Hypervisor and secure OS ARMv8 processors

11

ARM CoreSight™ Trace Support

Follow your program execution

step-by-step

Advantages of CoreSight trace support in DS-5

Zero-overhead ETM/PTM execution trace

Trace - source code matching

Instruction-based profile summary

Support for cycle accurate and system-wide timestamps

Trace triggering and filtering for buffer preservation

Log view for No/low intrusiveness instrumentation via ITM or

STM

Stores up to 4GB of compressed trace in a DSTREAM unit

Up to 16-bit parallel trace with DSTREAM

12

Device Support

Simple selection of

platform and operation

Configuration Database

Out of the box support for

70+ ARM®-based device families

See full list on

ds.arm.com/supported-devices/

SoC Bring-up and Config

CoreSight Access Tool (CSAT)

Bring-up and functional validation

of debug and trace infrastructure

Platform Configuration Editor

Auto-detection of ARM IP for

custom or non-supported devices

13

Platform Configuration Editor

Device details

Debug

Operations

Topology Info

Add/Edit Topology

Links

Excellent tool for bring-up

14

DS-5 Key Components

DS-5 IDE

• Powerful, customized editor based on industry standard Eclipse IDE 4.3

• Hundreds of compatible plugins

Streamline Analyzer

• CPU, GPU, interconnect performance and power analysis

• Time- and event-based profiling

DS-5 Debugger

• Comprehensive device bring-up tools and s/w debugger for single- and multi-core platforms

• OS aware debug, on silicon, virtual platform and emulator

Compilation Tools

• ARM Compiler 5 and 6 C/C++ toolchains for bare-metal and RTOS

• Integrated Linaro GCC for ARM Linux

15

H/W and S/W performance data

Task/thread execution sequence tracing

Process-to-source CPU and event profiling

Multicore utilization mapping

Customizable data sources

For Linux and Android

OpenGL® ES and OpenCL ® analysis on Mali GPU

No debug or trace probe required

Streaming data option for long captures

For embedded

Negligible overhead, based on DWT and ITM

Compatible with Cortex-M3 and Cortex-M4

Streamline Analyzer Debug and optimize system performance and power

16

Timeline: Heat Map Identify hotspots and system bottlenecks at a glance

Select from CPU/GPU counters

OS level and custom data sources

Accumulate counters, measure time

and find instant hotspots

Select one or more tasks to

isolate their contribution

Combined task switching trace and

sample-based profile

17

Timeline: Core and Cluster Maps Optimize scheduling and parallelization on multi-core and big.LITTLE systems

Visualize each hardware metric

per core or per cluster

Thread-based core or cluster mapping

18

Mali GPU Analysis

OpenCL Compute OpenGL ES

19

Streamline will display all Android

annotations in the timeline view:

ATRACE_BEGIN/END

push/pop annotations

ATRACE_ASYNC_BEGIN/END

overlapping annotations

ATRACE_INT/INT64

this will product counters charts

Streamline will support default atrace

annotations, there will be no need to

instrument the Android source code

with gator annotations

ATRACE events Support for Android event system

http://androidxref.com/4.4.4_r1/xref/system/core/include/cutils/trace.h

20

Profiling Reports Analysis of call paths, source code, and generated assembly

21

Why DS-5

Start Earlier

Early support for ARM IP

Develop software pre-silicon

Develop Faster

Easy setup, intuitive interface

Find bugs and bottlenecks quickly

Count On Us

ARM architecture experts in Support

Expert technical support

Mitigate Risks

Market-proven solution

Over 20+ years based on ARM tools