Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2011 №7

ARM Development Studio 5 — программный пакет для разработки Linux-приложений

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


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 входят (рис. 1):

  • мощный ARM-компилятор, лучший по коду и производительности;
  • GNU-компилятор для Linux на базе дистрибутива GCC 4.4.1;
  • интуитивный отладчик DS-5 с гибким графическим интерфейсом;
  • модели систем реального времени (Real-Time System Models);
  • адаптер трассировки DSTREAM с 4-Гбайт буфером;
  • анализатор производительности Streamline.
Структура DS-5

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

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 / менеджер проектов
GNU компилятор для Linux
Real-Time System Models Cortex-A8 Cortex-A8 Cortex-A8 & A9MP
Отладчик приложений Linux
Анализатор производительности Streamline
Отладка Boot Code/Driver (JTAG)  
Трассировка Boot Code/Driver  
ARM-компилятор    
Доступность

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 запускается из <папка_установки>\bin. После запуска Eclipse выдает запрос о том, где будет находиться рабочее пространство (Workspace), то есть директория, в которой будут храниться настройки Eclipse, а также проекты, созданные при помощи DS-5. Рекомендуется создать одну или несколько директорий, которые будут использоваться как рабочие для пространства DS-5.

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

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

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

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

В любой момент можно вызвать стартовый экран 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 поддерживает следующие x86-платформы:
    • 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).

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

Рис. 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

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 бит).
DSTREAM

Рис. 3. DSTREAM — средство отладки и трассировки

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

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

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

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

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

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

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

Заключение

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

Литература

  1. http://www.arm.com/ds5
  2. http://www.microcontroller.ru

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке