Научная статья на тему 'Arm Development Studio 5 - программный пакет для разработки Linux-приложений'

Arm Development Studio 5 - программный пакет для разработки Linux-приложений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
120
16
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Копытин Сергей

ARM Development Studio 5 (DS-5) это программный пакет для разработки Linux-приложений на базе процессоров ARM. DS-5 предлагает разработчику широкий набор интуитивно понятных инструментов, которые позволяют получать и анализировать любую информацию, необходимую для отладки и оптимизации программного обеспечения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Arm Development Studio 5 - программный пакет для разработки Linux-приложений»

ARM Development Studio 5 —

программный пакет

для разработки Linux-приложений

Сергей КОПЫТИН

[email protected]

ARM Development Studio 5 (DS-5) — это программный пакет для разработки Linux-приложений на базе процессоров ARM. DS-5 предлагает разработчику широкий набор интуитивно понятных инструментов, которые позволяют получать и анализировать любую информацию, необходимую для отладки и оптимизации программного обеспечения.

Открытое ПО

Сегодня разработка Linux-приложений ведется, в основном, на средствах Open Source. Открытое ПО бесплатно, но привносит большие инженерные затраты на выявление и локализацию ошибок, в результате чего проект может сильно растянуться по времени. Кроме того, средства Open Source трудны в освоении, так как сопровождаются скудной документацией, и тяжелы в использовании, поскольку имеют бедные графические интерфейсы. В открытом ПО нет взаимосвязи между сессиями отладки драйверов и приложений, что влечет инженерные затраты на изучение и поддержку одновременно двух отладчиков. И, наконец, еще один минус открытого ПО — поздняя поддержка новых MCU.

Следствие всего этого — неминуемая потеря времени, денег и сил, которым имеет смысл найти лучшее применение, дабы сосредоточить усилия на работе над проектом.

DS-5

делает разработку Linux проще

DS-5 — продукт департамента инструментальных средств ARM, который предлагает лучшие средства разработки для технологии ARM. Это законченное, профессионально поддерживаемое решение, охватывающее

Г п

[ DS-5 J

Г л Компилятор ^ У Eclipse

База i данных конфигурации устройства

L _ Отладка Симулятор аппаратных средств

L_ I

Рис. 1. Структура DS-5

полный цикл разработки — от концепции до отладки приложений. В DS-5 входят (рис. 1):

• мощный ARM-компилятор, лучший по коду и производительности;

• GNU-компилятор для Linux на базе дистрибутива GCC 4.4.1;

• интуитивный отладчик DS-5 с гибким графическим интерфейсом;

• модели систем реального времени (RealTime System Models);

• адаптер трассировки DSTREAM с 4-Гбайт буфером;

• анализатор производительности Streamline.

DS-5 доступен в трех вариантах: Application, Linux и Professional Edition (их характеристики представлены в таблице).

Таблица. Характеристики различных версий ARM DS-5

Характеристики Application Edition Linux Edition Professional Edition

Поддерживаемые Target OS Разработка Linux-приложений Все стадии проектирования Linux Linux, RTOS и др.

Поддерживаемые процессоры Ядра с MMU Ядра с MMU Все ядра ARM

Eclipse IDE / менеджер проектов V V V

GNU компилятор для Linux V V V

Real-Time System Models Cortex-A8 Cortex-A8 Cortex-A8 & A9MP

Отладчик приложений Linux V V V

Анализатор производительности Streamline V V V

Отладка Boot Code/Driver (JTAG) V V

Трассировка Boot Code/Driver V V

ARM-компилятор V

Доступность V V V

Eclipse IDE

Eclipse IDE — расширяемая платформа для различных программных средств, широко используемая по всему миру. Она работает как на компьютере, так и на отлаживаемой плате и увеличивает эффективность разработки, объединяя в единую структуру разнообразные инструментальные средства — Android Development Kit, отладчики и профилировщики RTOS, ПО для ARM, DSP и других архитектур процессоров. Все компоненты DS-5 интегрированы в Eclipse.

Использование DS-5

Eclipse для DS-5 запускается из Windows Start Menu ^ Programs ^ ARM DS-5. В Linux Eclipse запускается из <папка_установ-Ku>\bin. После запуска Eclipse выдает запрос о том, где будет находиться рабочее пространство (Workspace), то есть директория, в которой будут храниться настройки Eclipse, а также проекты, созданные при помощи DS-5. Рекомендуется создать одну или несколько директорий, которые будут использоваться как рабочие для пространства DS-5.

Eclipse IDE содержит редактор C/C++ и гибкую систему управления окнами. В Eclipse можно изменить положение и размер любого окна, «кликнув» на соответствующую вкладку и перетащив ее на любое удобное место. Любое окно также может быть добавлено на панель быстрого доступа для возможности обращаться к наиболее часто используемым окнам одним «кликом» мыши. Eclipse также поддерживает работу на нескольких мониторах.

Eclipse IDE включает в себя некоторые функции, облегчающие создание кода приложения на C/C++:

• выделение синтаксиса;

• всплывающие окна с информацией о выделенной переменной или функции с возможностью быстрого просмотра места кода, где та или иная переменная или функция были объявлены;

микроконтроллеры i 19

• автоматическое дополнение кода;

• шаблоны исходных файлов, файлов заголовков и классов;

• поиск по файлам проекта.

Стартовый экран

В любой момент можно вызвать стартовый экран DS-5 из пункта меню Help ^ DS-5 Home. Он позволяет быстро перейти по ссылкам на документацию по DS-5, просмотреть примеры программ, советы и ресурсы по технической поддержке DS-5. Чтобы закрыть стартовый экран и перейти к работе с DS-5, необходимо выбрать пункт меню Go to the Workbench.

Минимальные системные требования для работы с DS-5:

• двухъядерный процессор 2 ГГц;

• 2 Гбайт RAM, при работе с большими образами или моделировании рекомендуется 4 Гбайт;

• 2 Гбайт свободного дискового пространства;

• DS-5 поддерживает следующие х86-плат-формы:

- Windows XP Professional, Windows 7 Professional/Enterprise;

- Red Hat Enterprise Linux 5 Desktop and Workstation option, Standard.

• Android и ARM Linux application debug требует gdbserver для доступа к плате;

• DS-5 поддерживает отладку ARM Linux kernel версии не ниже 2.6.28.

Примеры программ в DS-5

Для демонстрации различных возможностей инструментов в состав пакета DS-5 включены различные демо-проекты:

• «Календарь» (Calendar), простейшее приложение для иллюстрации основ программирования в DS-5.

• «Фейерверки» (Fireworks) — более сложное приложение, портированное на BeagleBoard.

• Пример системы реального времени для Cortex-A8.

• «Гнометрис» (Gnometris) — Linux-приложение с открытым кодом, похожее на игру «Тетрис».

• Пример библиотеки (Example_library) иллюстрирует возможность создания простейших библиотек на языке С для ARM Linux.

• Cpp, cpp_library, cppex и cppex_library — примеры создания объектов и обработки различных прерываний.

Для работы с примерами необходимо выбрать пункт меню Import... ^ General ^ Existing Projects into Workspace. Затем выбрать Select archive file и указать путь <install_directory>\examples\example.zip. Эта операция разворачивает все примеры для DS-5 в директорию, выбранную пользователем в качестве рабочего пространства, и открывает их в окне редактора Eclipse.

Чтобы начать разработку собственного проекта, необходимо выбрать File ^ Create Build Projects ^ New ^ C or C++ Project (рис. 2).

С FmfcTt

w. с mad ".TIW

1 w ^Iqv

□ иь afrr №

MTW Jh"JT_j

htrJl Л

■nfwienii: 1n4Mi

1 IHHi

* №*=Ki«t

*

* t'^-riurJ.

9 . •

!hyf(MlI{|fn riLttthrt Wv f ,Гш. jd.-r

3> s I " **

Рис. 2. Создание проекта в DS-5

Затем выбрать один из четырех шаблонов: Linux-приложение (Linux application), общая библиотека (shared library), статическая библиотека (static library) или шаблон формирования файла (makefile project). После этого автоматически создается проект с предустановленными настройками компилятора. Чтобы добавить исходные файлы в шаблон проекта, необходимо правой кнопкой мыши нажать Project Explorer view и выбрать пункт New. Для компиляции проекта выбрать Project ^ Build.

Анализ запускаемых файлов

Двойной щелчок на запускаемом файле открывает редактор содержимого ELF (ELF Content Editor). Эту же операцию можно проделать, если «кликнуть» правой кнопкой мыши на File ^ Other ^ ELF Content Editor.

Этот редактор позволяет производить анализ скомпилированных программ до их загрузки на плату. ELF имеет несколько вкладок:

• Обзор общей информации о проекте (ELF header).

• Символьный навигатор (Symbol browser) с полным списком переменных и функций, используемых в проекте, а также их свойствами (типы, адреса).

• Выделение цветом скомпилированного кода для проверки и редактирования скомпилированного приложения.

Компиляторы

DS-5 содержит GNU-компилятор, в состав Professional Edition входит также ARM-компилятор.

GNU-компилятор — это стандартный компилятор для Linux, собранный на базе дистрибутива GCC 4.4.1, он включен во все редакции DS-5. Это готовая к работе, компактная и проверенная версия GNU для ARM Linux. Он полностью поддерживает системы команд Thumb-2 и NEON, новые процессоры Cortex

A5, A8, A9, содержит примеры, приложения и библиотеки. Однако GNU-компилятор поддерживается только через веб-форум.

ARM-компилятор — стандартный компилятор для архитектуры ARM. Осуществляется самая ранняя поддержка новых процессоров: системы команд, расширений DSP и сопроцессоров, оптимизация работы конвейеров. Существует профессиональная техническая поддержка — исправление ошибок, в том числе и в старых версиях компилятора. ARM-компилятор хорошо совместим с GNU-компилятором, ARM Debian и большинством дистрибутивов Linux, однако доступен только в DS-5 Professional Edition.

Отладчик DS-5

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

DS-5 поддерживает отладку приложений (Application debug) через gdbserver с помощью программы-агента deamon, работающей на плате target. При этом подключение к плате осуществляется через последовательный интерфейс или Ethernet. Работа ведется в режиме Run-mode, при котором ядро kernel и другие потоки threads никогда не останавливаются. Осуществляется единовременная отладка нескольких потоков и ядер многоядерных процессоров. Для этого необходимо просто несколько раз запустить отладчик через окно настроек отладки.

Для разработки загрузочного кода и пор-тирования ядра ОС kernel и драйверов используются DS-5 Linux и Professional Edition. Подключение к плате происходит через JTAG/SWD сразу после сброса. Для работы не нужны дополнительные физические интерфейсы и программные драйверы и не требуется вставлять специальные команды. Поддержка нескольких соединений с многоядерной системой осуществляется через один JTAG-интерфейс. Ведется одновременная отладка ядра (через JTAG) и приложений (через GDBserver), отображаются потоки и ресурсы ядра.

Подключение к плате

Все, что необходимо для отладки и анализа Linux-приложений для ARM-процессоров — это TCP/IP или последовательное соединение платы и компьютера. После старта Linux отладчик DS-5 запускает gdbserver на плате, подсоединяется к нему и использует его для запуска и управления приложением. Для работы DS-5 требуется gdbserver версии 6.8 (которая включена в состав пакета DS-5) или более поздняя.

Для подключения через JTAG используется высокоскоростной адаптер для отладки и трассировки DSTREAM (рис. 3), который имеет следующие характеристики:

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

• JTAG/SWD-отладка run-control и захват

трассировки;

• интерфейс RDDI с другими IP-отладчика-

ми;

• рабочая частота JTAG 60 МГц;

• скорость загрузки 2,5 Мбайт/с;

• буфер трассировки 4 Гбайт;

• скорость трассировки 600 Mbps/pin (16 бит).

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

Профилировщик и анализатор производительности Streamline осуществляет анализ работы ядра Linux и приложений, позволяет быстро и достоверно выявить виновников торможения (рис. 4). Для сбора данных Streamline использует технологию выборки, которая основана на выборочных данных, событиях ОС и комментариях пользователя. Streamline преобразует данные системной трассировки в графические и статистические отчеты. Для отладки не требуется дополнительное аппаратное обеспечение. Программа-монитор deamon собирает данные для передачи на компьютер. Накладные расходы при этом меньше 5%. Далее данные транспортируются между платой и компьютером через USB или Ethernet. Данные могут передаваться

|ШЛ|ИЕ-Л.Ьй.■)..-.» Щ

iijieil. -ш.-i.i.i; 1 IlibMfe-¡aLL-4>Ka*.I.MM.IE ! njlwKecc J,»..*=.С .ИМ.El I

не сразу, а постепенно — для продолжительного захвата в target с ограничениями по памяти. Для устройств с ограниченной полосой пропускания на плате организуется конфигурируемый буфер.

Модели систем реального времени

Сегодня есть много хороших и дешевых плат для отладки, но их возможностей может не хватать или плат может не быть в наличии. Пакет DS-5 включает в себя модели систем реального времени (Real-Time System Models), которые позволяют оценить выполнение кода без аппаратной части. Модели поддерживают симуляцию работы процессора, системной памяти и периферии (например клавиатуры, мышки, портов UART, Ethernet и LCD-экрана). Моделирование осуществляется при частотах 250 МГц и более.

Приведен пример для процессора Cortex-A8. При старте модель автоматически запускает Linux и входит в состояние, при котором разработчик может загружать и отлаживать свои приложения. Модель содержит виртуальную

Рис. 4. Пример экрана анализатора производительности Streamline

файловую систему, таким образом она получает доступ к файлам компьютера, на котором производится отладка так, как будто это файлы, которые входят в состав разрабатываемой ARM Linux-системы.

Заключение

Открытое ПО бесплатно, но привносит большие инженерные затраты на выявление и локализацию ошибок и его освоение. Мы считаем, что можно найти лучшее применение своим силам, если сосредоточить усилия на работе над проектом с помощью программного пакета ARM Development Studio 5. DS-5 — это законченное решение, поддерживающее полный цикл разработки, от концепции до отладки приложений. ■

Литература

1. www.arm.com/ds5

2. www.microcontroller.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.