Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1
Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development leads to higher engineering efficiency Fast Models VSTREAM DSTREAM ULINKpro D TCP/IP CADI Virtual debug Interface High performance debug and trace Low cost debug for MCUs Application debug and analysis Virtual platform RTL simulator and emulator FPGA and silicon Catalog MCU/MPU Linux/Android devices 2
DS-5 Key Components Compilation Tools ARM Compiler 5 and 6 C/C++ toolchains for bare-metal and RTOS Integrated Linaro GCC for ARM Linux 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 Streamline Analyzer CPU, GPU, interconnect performance and power analysis Time- and event-based profiling DS-5 IDE Powerful, customized editor based on industry standard Eclipse IDE 4.3 Hundreds of compatible plugins 3
ARM Compiler 5 Robustness and efficiency built on decades investment 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 130% 120% 110% RVDS 100% 2.2 90% 80% Performance Codesize RVDS 3.1 RVDS 4.0 DS-5 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) 4
ARM Compiler 6 The next generation compiler for ARM processors 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 5
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 6
DS-5 Key Components Compilation Tools ARM Compiler 5 and 6 C/C++ toolchains for bare-metal and RTOS Integrated Linaro GCC for ARM Linux 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 Streamline Analyzer CPU, GPU, interconnect performance and power analysis Time- and event-based profiling DS-5 IDE Powerful, customized editor based on industry standard Eclipse IDE 4.3 Hundreds of compatible plugins 7
Flexible Architecture Adapts to the complexity of new SoCs, and enables third parties to support debug and trace on their IP Remote Device Debug Interface Connect 3 rd party debuggers to the target via DSTREAM Debuggers & Trace Consumers DS-5 Debugger RDDI Debug & Trace Services Layer (DTSL) CoreSight IP configuration, debug multiplexing, and trace demultiplexing. Python scripts RDDI Template Development Kit Support 3 rd party IP debug via DSTREAM Third Party Debugger Third Party Trace Consumer RDDI Socket to configure: CoreSight IP Pin muxing Resets Trace fabric JTAG 8
DS-5 Debugger Engineered to accelerate software deployment on ARM Eclipse GUI CLI Intuitive graphical interface Familiar GDB-like command line i/f Scripting OS Awareness Device Configuration Database 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 Supports UP, AMP, SMP, and ARM big.little technology Extensive list of pre-configured devices Stop-mode Run-mode Trace Stop-mode and bidirectional native apps debug Non-intrusive program and system trace Target Connection DSTREAM and compatible probes Supports virtual platforms and emulators 9
Leading IP Support in DS-5 Debugger ARMv8 processors Hypervisor and secure OS AMP, SMP, b.l and multi-cluster Flexible cross-trigger configuration Direct memory access via the DAP 10
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 11
Device Support Configuration Database Out of the box support for 70+ ARM -based device families Simple selection of platform and operation 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 See full list on ds.arm.com/supported-devices/ 12
Platform Configuration Editor Excellent tool for bring-up Device details Topology Info Add/Edit Topology Links Debug Operations 13
DS-5 Key Components Compilation Tools ARM Compiler 5 and 6 C/C++ toolchains for bare-metal and RTOS Integrated Linaro GCC for ARM Linux 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 Streamline Analyzer CPU, GPU, interconnect performance and power analysis Time- and event-based profiling DS-5 IDE Powerful, customized editor based on industry standard Eclipse IDE 4.3 Hundreds of compatible plugins 14
Streamline Analyzer Debug and optimize system performance and power 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 15
Timeline: Heat Map Identify hotspots and system bottlenecks at a glance Select from CPU/GPU counters OS level and custom data sources Select one or more tasks to isolate their contribution Accumulate counters, measure time and find instant hotspots Combined task switching trace and sample-based profile 16
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 17
Mali GPU Analysis OpenGL ES OpenCL Compute 18
ATRACE events Support for Android event system 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 19 http://androidxref.com/4.4.4_r1/xref/system/core/include/cutils/trace.h
Profiling Reports Analysis of call paths, source code, and generated assembly 20
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 Mitigate Risks Market-proven solution Over 20+ years based on ARM tools Count On Us ARM architecture experts in Support Expert technical support 21