arm development studio для всех arm процессоров5 Стандартный...

34
1 DS-5 ARM Development Studio для всех ARM процессоров Январь 2013 Сергей Копытин Simecs Ltd [email protected]

Upload: others

Post on 27-Jun-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

1

DS-5

ARM Development Studio

для всех ARM процессоров

Январь 2013

Сергей Копытин

Simecs Ltd

[email protected]

Page 2: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

2

Проблемы Open Source Tools

Открытое ПО бесплатно, но привносит большие инженерные затраты

Выявление и локализация ошибок

Потеря времени, денег и сил на средства отладки

Проект может сильно растянуться по времени

Open source тяжелы в освоении

Бедная документация

Нет интуитивного интерфейса

Поздняя поддержка новых MCU

Найдите лучшее применение своим силам

Время, затраченное на освоение ПО не увеличивает стоимость конечного продукта

Сосредоточьте Ваши усилия на работе над проектом

Page 3: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

3

Обзор DS-5

Законченное хорошо поддерживаемое решение,

Полный цикл разработки, от кремния до отладки приложений

Мощный ARM компилятор

Лучший по коду и скорости

Интуитивный отладчик DS-5

База данных устройств DB

Адаптер DSTREAM (4GB trace buffer)

Быстрые модели симуляции SoC

Работает без target hardware

Streamline™ Performance Analyzer

Анализ Linux и Android систем

Compiler

Eclipse

Debugger

Device Configuration Database

Hardware Debug

Streamline IDE

Simulation

DS-5

Page 4: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

4

Интуитивный графический отладчик

Полная поддержка multi-core при

информированности в ресурсах Linux

База данных поддерживаемых устройств

облегчает подключение и отладку

Отображение отладки и трассировки

Streamline analyzer для Linux/Android

Системный взгляд: дает понимание

взаимодействия ПО с SoC компонентами

(fabric, memory controllers, GPU и т.д.)

Energy profiling: оптимизация

энергопотребления и времени жизни

батареи

Оптимизированный ARM Compiler

Быстрый, компактный и точный код

Поддерживает все ARM устройства

DS-5 – основные черты

ARM Streamline

DS-5 Debugger

Page 5: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

5

Стандартный компилятор для Linux

Готовая к работе, компактная и проверенная версия GNU

Compiler для ARM Linux

Тщательно протестирован с помощью Free Software

Foundation compiler collection regression suite

На базе дистрибутива GCC 4.5.1

Поддержка - только через web форум

Расширенная поддержка архитектуры ARM

Поддержаны системы команд Thumb-2 и NEON

Поддержаны все новые процессоры Cortex A

Примеры, приложения и библиотеки

Включен во все редакции DS-5

GNU Compiler Compilation

Tools

Page 6: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

6

Стандартный компилятор для архитектуры ARM

Самая ранняя поддержка новых процессоров

Система команд, расширения DSP и сопроцессоры

Оптимизация работы конвейеров

Профессиональная техническая поддержка

Исправление ошибок в том числе и в старых версиях компилятора

Хорошо совместим с GCC

Делает сборку большинства

Linux open-source packages

ARM Compiler Compiler

80%

90%

100%

110%

120%

130%

RVDS 3.1 RVDS 4.0 DS-5

Performance

Codesize

RVDS 2.2

Page 7: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

7

Eclipse Framework Eclipse

Расширяемая платформа для различных программных

средств – стандарт среды разработки

Работает как на host, так и на target платформах и языках

программирования

Широко используется во многих компаниях

Предлагается 1100+ расширений plug-ins

Увеличивает эффективность разработки, объединяя в

единую структуру разнообразные инструментальные

средства

Android Development Kit

RTOS отладчики и профилировщики

ПО для ARM, DSP и других архитектур процессоров

Все компоненты DS-5 интегрированы в Eclipse

И расширяют его заказными plug-ins

Page 8: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

8

IDE IDE

Гибкое управление окнами

Гибкое, согласованное, быстрое

Поддерживает 2 экрана

Редактирование C/C++ and Assembler

Выделение синтаксиса цветом

Контекстный ассистент (автодополн.)

Просмотр рабочей зоны и всего файла

Управление проектами

Графический обзор проектов

Makefiles и project settings

Статический анализ образов ARM -

объектных файлов и исполняемых

модулей

Page 9: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

9

Performance

Analyzer Streamline

Профилировщик и анализатор

производительности для Linux и Android

Для сбора данных использует технологию

выборки – на базе выборочных данных,

событий OS и комментариев пользователя

Временной и статистический анализ

Мощное программное решение

Требуется соединение через Eth, USB между target и host PC

Не требуется HW - только SW модуль target kernel и daemon

Данные могут передаваться не сразу, а постепенно - для

продолжительного захвата в target с ограничениями по памяти

Конфигурируемый буфер трассировки на target

Streamline™ позволяет

Анализировать работу ПО на single & multi-core targets

Быстро и достоверно выявить узкие места и неэффективный код

Page 10: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

10

Performance

Analyzer Системный взгляд

Событие снижающее

производительность

Кто вероятный

нарушитель? Корреляция событий с исполнением ПО

на уровне процесса, потока и функции

Анализ на определенных

временных интервалах Установка линейкой интервала времени

для генерации статистики

Zoom in/out разрешение

от sec до ms Отображение данных с разрешением

равным частоте выборки

Streamline дает системный взгляд, и

позволяет проанализировать, как CPU

взаимодействует с остальными

элементами SoC

Page 11: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

11

Performance

Analyzer Многопроцессорные (SMP)

Общая и отдельная для каждого ядра производительность

Улучшение баланса загрузки системы и параллельной работы

приложений, идентификация расхождений в синхронизации

Есть ли симметрия?

Чтобы понять в чем отличия

картинки для core могут быть растянуты

Какое ядро выполняет

какой поток? Выявляет расхождения в параллелизме

между ядрами при распределении потоков

Кто вызывает проблему? Маркер помогает найти, какой поток

вызывает то или иное событие

Page 12: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

12

DS-5 Energy Probe

Корреляция энергопотребления с исполнением ПО в Streamline

Просто идентифицировать что вызывает макс потребление

Скоро доступен

Energy Probe attached to Beagle

Performance data

collection (TCP/IP)

Power data to host via USB

DS-5 correlates

Performance/Power/Software

Легкое определение источников неэффективного

программного кода с точки зрения энергопотребления

Performance

Analyzer

Page 13: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

18

Технология ARM

для отладки и трассировки

Page 14: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

19

Что такое CoreSight?

Архитектура ARM для отладки и трассировки - результат 20-ти лет опыта

Обеспечивает прозрачность отладки и управление всей системой

Используется при аппаратном и программном проектировании и оптимизации

Модульная, гибкая архитектура поддерживает ARM IP и другие IP

Промышленный стандарт со всесторонней поддержкой средствами разработки

Технология CoreSight – ключевое направление для всех решений ARM от MCU до многоядерных платформ

CoreSight - взгляд в будущее Обеспечивает преемственность для будущих

устройств. Те возможности, что не используются сегодня, будут востребованы завтра

Page 15: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

21

Прямой доступ в память работающей системы

Чтение и запись в память, доступ к переменным

Установка точек останова во время исполнения программы

Гибкие опции трассировки

Интегрированная трассировка данных Data Trace

Трассировка команд Instruction Trace

Использование стандартных интерфейсов

Основные задачи сегодня:

Как проникнуть внутрь еще более сложной системы и

разобраться в ее работе? (Разработчик приложения не может

использовать средства отладки "bare-metal”)

Как может архитектура отладки и трассировки помочь

программисту задействовать все возможности платформы?

CoreSight – легко отлаживать

Page 16: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

22

CoreSight сегодня

Cortex-A8 3D Engine CTI

ETM

Video DSP Image DSP CTI CTI

Trace

Trace bus TPIU

DAP

STM

Debug bus

Syste

m b

us

SWD/

JTAG

CTM

Специальные шины

debug & trace

Логика CoreSight

управляется через

Debug Access Port

Cross-Trigger Matrix

для отладки

системы в режиме

start/stop

Trace Memory

Controller

используется для

назначения

источника на выход

трассировки

Пример отладки и трассировки медиаустройства

CoreSight debug logic and trace logic in orange & green

Page 17: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

23

Hardware

Events

Сохраняет данные трассировки в циклический буфер RAM

Идеален в случае, когда доп. выводы не могут быть отведены под

трассировку или скорость трассировки слишком высока для off chip

capture

Встроенный буфер трассировки (ETB)

Cortex-A8 3D Engine

ETM

Image DSP

Trace

Trace bus ETB

Доступ к данным

трассировки для их

анализа через DAP

Данные

трассировки

доступны

программно через

Application Code

как память

периферии

Application

Code S

yste

m b

us

STM

SWD/

JTAG

DAP

Debug bus

Global

Timestamp

Page 18: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

24

DSTREAM Debug & Trace Unit

Высоко производительная трассировка и быстрая

загрузка массива данных в память

Интерфейсы USB 2.0 и Ethernet 10/100base-T

Probe для разъемов JTAG, CoreSight, TI и MIPI

Алгоритмы быстрой загрузки массивов данных в память

Feature Specification

JTAG speed 60 MHz

Download speed 2.5 MB/s

Trace buffer 4GB

Trace speed 600 Mbps/pin (16-bit)

Hardware

Debug

Page 19: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

25

Подключение к host computer

USB 2.0 для локального подключения

и потоковой трассировки

Ethernet для удаленного доступа к target

Внутренняя архитектура

FPGA для управления работой JTAG

FPGA для сжатия trace и буфера 4 GB

Подключение к target

Поддержка всех существующих и будущих

ARM интерфейсов для debug и trace

Прямое подключение к target плоским кабелем

или кабелем MICTOR

Подключение DS-5 Debugger к HW через JTAG

DS-5 Debugger подключается через gdbserver с помощью

программы-агента на target - cобирает данные для передачи на host

,

DSTREAM Hardware

Page 20: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

26

Target Connection Diagram

ARM

Processor

Ethernet

Controller

DAP

Memory

System Fabric

Other SoC

blocks

ETM or

PTM Trace Port

Interface

Debug

and

Trace

Fabric

GDB Remote

Protocol over

Ethernet

RDDI Protocol

over Ethernet

or USB

JTAG or

SWD

Trace

APPLICATON DEBUG

BOOT CODE AND DRIVER DEBUG

Page 21: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

27

Этапы разработки системы

DSTREAM незаменим при разработке новых платформ

Прямое подключение к регистрам через CoreSight Debug Access

Port (DAP) для проверки инфраструктуры отладки SoC

Управление процессором через JTAG/SWD для доводки системы

Останов процессора, доступ к памяти и периферии, доступ к

сопроцессору и другим системным ресурсам

Разработка загрузочного кода, драйверов OS, приложений RTOS

На более поздних этапах DSTREAM также незаменим

Виртуальный Ethernet через JTAG освобождает ресурсы target

Запись исполнения ПО в on-chip Embedded Trace Buffer, далее в

4GB trace buffer и далее в хост компьютер

Исполнение скрипта Python для конфигурирования target

Конфигурирование JTAG test access port - получение доступа к

структуре отладки устройства - одновременно с сеансом отладки

Page 22: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

28

DS-5 сконфигурирован для отладки 80+ устройств

Поддержка Atmel, Freescale, Marvell, NXP, Samsung, ST and TI

Добавление поддержки для заказных устройств

Device Configuration Database Device

Database

Configuration Database

Platform set-up

JTAG/SWD connection

Configuration scripts

ETB and off-chip trace

Debugger set-up

Target connection

Memory map

Peripheral register views

Page 23: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

29

TI Supported Devices

Device Validated Platform

•AM335x, OMAP5 in development, Appleton/Concerto planned

Page 24: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

30

DS-5 Debug Levels

Bare-metal Debug (без OS)

Отладка заказных систем и драйверов (JTAG)

Полное управление процессором и регистрами

HW Breakpoints, Watchpoints, Trace

Kernel/Driver Debug

Bare-metal + kernel debug

Наглядный анализ процессов и потоков threads

Application Debug

Использует gdbserver на target

Нет необходимости использовать DSTREAM

Streamline Profiling

Использует модуль gator kernel и резидентный daemon

Нет необходимости использовать DSTREAM

Page 25: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

31

DS-5 поддерживает отладку приложений bare metal и

разработку ядра и системы через JTAG/SWD

Подключение к target сразу же после reset

Не требует для работы дополнительных физических

интерфейсов и программных драйверов

Не требует вставлять специальные команды

От разработки boot кода до портирования ядра и драйверов

Поддержка сразу нескольких соединений к многоядерной

системе через один интерфейс JTAG

Разработчику видны как потоки,

так и ресурсы ядра

Поддержана одновременная

отладка ядра (через JTAG)

и приложений (через GDBserver)

Bare Metal and Kernel Debug

Page 26: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

32

Kernel Debug

DS-5 Debug Levels

DS-5 Eclipse

DS-5 Debugger [C/C++]

gdbserver

Linux Application

System Libraries

Linux Kernel

DSTREAM

JTAG/SWD

Ethernet

Serial

HOST

(Linux or Windows)

TARGET

Application Libraries

ARM Streamline

gatord

gator.ko

ARM Processor CoreSight

Bare-metal Debug

System Profiling Application Debug

Page 27: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

33

DS-5 поддерживает отладку приложений через gdbserver

при подключении с помощью программы-агента на target

Поддерживает gdbserver, source и binary коды во всех

существующие дистрибутивы Linux и Android

Подключение к target через последовательный интерфейс или Eth

DSTREAM поддерживает виртуальный Ethernet через JTAG

Run-mode debug – ядро и остальные потоки никогда не

останавливаются

Multi-threaded, multi-core- поддержка нескольких потоков и

многоядерных процессоров

DS-5 поддерживает отладку родных библиотек и

приложений Android

Современный gdbserver позволяет вести отладку NEON и

многопотоковых приложений

Можно одновременно отлаживать несколько приложений

Application Debug

Page 28: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

34

DS-5 и Android Tools

DS-5 Eclipse

Android Debugger

ADT Plugin [Java] DS-5 Debugger [C/C++]

adb tool

adb deamon gdbserver [attached]

VM Process

Dalvik VM

Application

(.dex)

Java

Debug

Support

Dalvik VM Interpreter

Native Libraries

DSTREAM

SWD/JTAG

USB / Ethernet

HOST

Android

TARGET

ARM Streamline

gatord

Android / Linux Kernel gator.ko

ARM Processor CoreSight

Page 29: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

35

Trace-based vs. Sample-based Profiling

Trace-based

ЗА

Запись всех

исполняемых команд

Не вмешивается в

работу программы

ПРОТИВ

Требуется trace unit ($$)

Сильно ограниченный по

времени захват данных

Сложные настройки

Обычно мало что

знает о OS

Streamline’s sample-based

ЗА

Без дополнительного HW

Анализ за 1 час и более

Привязан к событиям в OS

Статистически значимые

результаты

Удаленно и на серийном

устройстве

ПРОТИВ

Не для наблюдения за

событиями порядка ms

Привносит незначительные

накладные расходы

Page 30: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

36

Feature BASIC Pro

Eclipse IDE

Application Debug

Streamline Performance Analyzer

GNU Compiler

Versatile Reference Virtual Platform Cortex-A8 Cortex-A8

Cortex-A9 MP

Energy Probe

Kernel and Driver

• Hardware debug

• CoreSight trace

ARM Compiler

DS-5 Editions

Подробная информация в таблице спецификации:

http://www.arm.com/products/tools/software-tools/ds-5

Page 31: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

37

Законченное, профессионально поддерживаемое

решение для ARM

Поддержка всех новых ARM процессоров и CoreSight IP

Различные по составу пакеты для широкого круга пользователей

DS-5 увеличивает эффективность работы

Компилятор, лучший в своем классе с точки зрения размера кода

и производительности

Мощный и интуитивный графический отладчик и профилировщик

DS-5 минимизирует проектные риски

Доступ к технической поддержке в течение 1 года и обновления

раз в два месяца

Команда поддержки экспертов по всему миру в части ARM

software и SoC design

Почему DS-5?

Page 32: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

38

Web поддержка DS-5

осуществляется на сайте ARM

www.arm.com/ds5

Информация на сайте

Информация о продуктах

Документация

Статьи и форумы

Примеры приложений

Через сайт можно

Запросить техническую поддержку

Загрузить последние версии ПО

Обратная связь с разработчиками

Web Infrastructure

Page 33: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

39

MDK-ARM vs DS-5

MDK-ARM DS-5

Core Support

Processor families ARM7, ARM9,

Cortex-M, Cortex-R4

All ARM processors

Memory Management Unit (MMU) No Yes

Multicore (SMP) No Yes

Development Environment

IDE uVision DS-5 Eclipse

Host OS Windows Windows, Linux

Target OS and Middleware

OS awareness RTX, MQX, Micrium, CMX,

Quadros RTXC

Linux, Android, ENEA OSE

Middleware Networking, GUI, file system, etc. No

Debug and Trace

StreamingTrace Yes, with ULINKpro adapter Yes, with DSTREAM adapter

Instruction & Data Trace ETM, DWT ETM, PTM

Instrumentation Trace ITM ITM, STM

Page 34: ARM Development Studio для всех ARM процессоров5 Стандартный компилятор для Linux Готовая к работе, компактная и

40

Спасибо!