Продукты компании IAR для разработки программного обеспечения встраиваемых устройств
Программные средства разработки
IAR Embedded Workbench — комплексная среда разработки, многочисленные версии которой поддерживают большинство микроконтроллеров от различных производителей. Прежде всего, необходимо пояснить, что IAR EW является не просто программой, а именно комплексной средой разработки, поскольку состоит из целого комплекса программных и аппаратных инструментов. И хотя, как правило, аппаратные отладчики не поставляются в случае покупки только лицензии на пакет, так как в среду включена поддержка J‑TAG-адаптеров различных фирм, тем не менее компания IAR рекомендует использовать в комплекте аппаратное обеспечение, выпускаемое ею. Многие инновационные функции, например появившиеся в 6‑й версии EWARM функции, позволяющие измерить потребляемый устройством ток в зависимости от исполняемого кода, наиболее полно будут поддерживаться при применении собственных аппаратных отладчиков I‑Jet и I‑Scope.
Программная составляющая среды состоит из следующих программных компонентов:
- C/C++ компилятор;
- компилятор ассемблера;
- компоновщик;
- библиотечный модуль;
- редактор;
- менеджер проектов;
- C‑Spy-отладчик;
- сервер лицензий.
Внешний вид EWARM в режиме отладки представлен на рис. 1.
Среда разработки обеспечивает все этапы создания программного обеспечения — от написания программы до загрузки отлаженного кода микропрограммы в целевой микроконтроллер. Ее достоинствами являются высокоэффективные компиляторы и удобный пользовательский графический интерфейс ко всем приложениям, входящим в пакет, наличие плагинов, поддерживающих различные операционные системы реального времени, и импорт данных из пакетов разных производителей. Эти функции позволяют легко использовать драйверы, сгенерированные для периферийных модулей (так называемые HAL, Hardware Abstraction Layer), например в CodeWarrior, Dave3 или Atmel Studio, и импортировать библиотеки, полученные с помощью этих программ. Компания IAR постоянно совершенствует свои продукты не только за счет поддержки новых кристаллов различных производителей, но и добавляя инновационные функции, которые способствуют повышению качества создаваемого кода. Из недавних улучшений можно отметить новое дополнение к пакету, предназначенному для разработки программного обеспечения на основе ARM-процессоров. Технология, получившая название C‑Run, интегрирована в данный пакет и позволяет автоматически находить ошибки во время выполнения кода.
Основные возможности анализатора C‑RUN:
- Анализ программы, написанной как на C, так и на C++.
- Легкие в использовании и интуитивно понятные элементы управления.
- Подробная информация об ошибках во время выполнения программы.
- Информация о состоянии и вызовах стека для каждой обнаруженной ошибки.
- Связь с исполняемым кодом и указание места появления ошибки в редакторе.
- Гибкость управления фильтром ошибок для остановки процесса выполнения программы и возможность игнорирования ошибок с выводом информации о событиях в файл.
- Определение недопустимых преобразований между типами переменных.
- Проверка на переполнение и циклические переносы во время выполнения математических операций.
- Обнаружение потери битов во время битовых операций.
- Проверка границ для определения доступности элементов массивов и других объектов.
- Определение переполнения буфера.
- Проверка кучи (heap) и утечек памяти.
На рис. 2 представлено окно выбора опций C‑RUN.
На данный момент эти улучшения доступны в новых версиях пакета для ARM-архитектуры, но в ближайшее время такие же возможности получат и другие, наиболее востребованные версии пакета.
IAR VisualSTATE — это отдельный программный продукт для высокоэффективной разработки программ — система, в которой применены принципы визуального программирования. Основной концепцией создания программного обеспечения является принцип описания автомата конечных состояний (State machine). Визуальное конструирование графа таких состояний позволяет ускорить разработку проекта, упрощает понимание его структуры, значительно сокращает время для создания и отладки, а также обеспечивает автоматическую генерацию исполняемого кода и документирование проекта. Последние версии IAR VisualSTATE позволяют легко переносить части существующего проекта в новые разработки. В комплексе с IAR Embedded Workbench данное решение обеспечивает полный цикл разработки и отладки программы. Вид программы представлен на рис. 3.
Аппаратные средства разработки
До недавнего времени аппаратные отладчики для компании делала фирма Segger на основе своих разработок. Теперь же такие аппаратные отладчики, как I‑Jet и I‑Scope, создает недавно купленная и вошедшая в состав корпорации фирма Signum Systems (www.signum.com). Эти аппаратные средства разработки позволяют осуществлять внутрисхемное программирование микроконтроллера и комплексную отладку программы в среде IAR Embedded Workbench. С их помощью можно получать доступ к содержимому внутренних ресурсов микроконтроллера, выполнять трассировку программы с привязкой к программному С‑коду и даже оценивать энергопотребление микроконтроллера (или устройства в целом) в зависимости от исполняемого кода. Другие продукты этой компании, например отладчики для работы с микроконтроллерами на ядре 8051 или отладки кристаллов семейства C2000 фирмы TI, также можно приобрести у дистрибьюторов компании IAR.
Компания IAR рассматривает вопрос энергоэффективности микроконтроллеров не только в аспекте собственного энергопотребления микроконтроллером, но и гораздо шире, с точки зрения общей энергоэффективности разрабатываемого устройства. Зачастую вклад потребления микроконтроллера на порядки меньше энергопотребления устройства целиком, поэтому в дополнение к JTAG-адаптеру I‑Jet выпускается дополнительный адаптер I‑Scope, предназначенный для совместной работы с I‑Jet.
Функции, обеспечиваемые адаптером I‑Scope:
- Измерение токов и напряжений и синхронная пересылка значений в среду разработки.
- Токовые входы для дифференциальных измерений с полным диапазоном напряжений измерительного шунта 110 мВ.
- Три дополнительных входа для измерения напряжения в диапазоне от 0 до 6 В.
- Частота отсчетов до 200 кГц с разрядностью представления 12 бит.
- Поддержка всех ARM-ядер.
- Совместная работа с I‑Jet через кабель MIPI‑20.
- 6 отдельных измерительных гибких про-водников, оснащенных зажимами.
Дополнительную информацию по применению I‑Scope можно посмотреть на сайте компании в виде документов и видеопрезентации. На рис. 4 представлен внешний вид I‑Jet и I‑Scope.
Оценочные наборы KickStart
Широкий ассортимент оценочных наборов позволяет специалистам сразу приступить к разработке программного обеспечения для целевого микроконтроллера производства различных вендоров, так как типовой комплект включает все необходимое для быстрого старта: оценочную версию Embedded Workbench, отладочную плату с микроконтроллером и встроенный аппаратный интерфейс для отладки и загрузки программы (как правило, Light версию JTAG). С доступными вариантами можно ознакомиться на сайте IAR в соответствующем разделе.
Экспериментальные наборы
В отличие от наборов KickStart, недавно появившиеся разнообразные целевые экспериментальные наборы IAR Systems дополнительно содержат различные датчики и другие периферийные устройства, например джойстики, магнитометры и т. д., что позволяет не только освоить работу с этой периферией, но и создать законченные устройства.
На рис. 5 показан один из вариантов экспериментального набора на основе микроконтроллера STM.
Особенности лицензирования продуктов IAR
Каждая версия среды Embedded Workbench имеет четыре варианта поставки, в зависимости от механизма лицензирования и требуемых возможностей программного обеспечения.
Наиболее простая версия имеет привязку к аппаратному обеспечению компьютера, на который она устанавливается (как правило, подразумевается изменение конфигурации компьютера не чаще, чем два раза в год). Значительно большей гибкостью обладает версия Embedded Workbench с привязкой при помощи USB-ключа, причем обеспечивается ее функционирование на разных компьютерах. Это может быть удобно, когда специалисту необходимо работать в различных местах и на различных компьютерах.
Для групповой работы предназначены сетевая и глобальная лицензии.
При использовании сетевой лицензии USB-ключ вставляется в сервер предприятия и обеспечивает одновременную работу сразу с нескольких рабочих мест (по количеству купленных лицензий). Аналогично осуществляется действие глобальной лицензии за исключением того, что USB-ключ вставляется в интернет-сервер и работа будет возможна удаленно, из любой точки, где есть доступ в Интернет (обычно такая необходимость возникает, например, при привлечении фрилансеров к работе над проектом).
Сетевые версии обеспечивают дополнительный механизм блокировок, необходимый для групповой работы над проектом. Данный механизм препятствует изменению элементов проекта, если в этот момент с одного из рабочих мест происходит компиляция или отладка проекта. Вид лицензии обозначается дополнительными буквенными индексами:
- MB — для мобильной;
- NW — для сетевой;
- GL — для глобальной версии.
Полная версия среды Embedded Workbench без каких-либо ограничений имеет обозначение Standart; в дополнение компанией IAR Systems предлагаются версии с ограничением функциональности — Limited и Baseline.
Ограничения для версии Limited: нет поддержки MISRA C checker, отсутствует поддержка C‑Spy отладчика и нет возможности работы через плагины с программным обеспечением сторонних производителей. Версия Baseline имеет более серьезные ограничения функциональности: ограничены размеры генерируемого кода (в зависимости от архитектуры), не поддерживается функция MISRA C checker, техническая поддержка производителя доступна не в полном объеме (соответственно, типы лицензий Baseline будут иметь дополнительные буквенные обозначения: -BL или -LE.)
Необходимо отметить, что возможна покупка расширения (Upgrade) текущей версии до полной, но зачастую это требует дополнительного приобретения годовой технической поддержки.
Наиболее популярной в последнее время стала комплексная среда разработки для микроконтроллеров, основанных на ядре ARM. Большинство производителей приступили к выпуску микроконтроллеров на основе этого ядра, особенно на активно развивающемся семействе Cortex. Для разработчиков, которым не требуется поддержка всех ядер ARM, компанией IAR Systems предложены специальные версии пакета, ограниченные только микроконтроллерами семейства Cortex-M. Также имеется версия, ограниченная поддержкой лишь кристаллов с архитектурой Cortex-M0, предназначенных для замены 8‑разрядных микроконтроллеров. Система VisualState в этом отношении имеет только два варианта — Premium и Baseline.
Оценочные версии ПО IAR Systems позволяют потенциальному пользователю ознакомиться во всех аспектах с программным продуктом, оценить его удобство и функциональность. Они доступны к загрузке с сайта компании IAR в двух вариантах: с ограниченным сроком действия в течение 30 дней и без ограничения срока, но с ограничением размера генерируемого кода. Важно отметить, что оценочные версии недопустимо применять для разработки коммерческого кода в соответствии с лицензионным соглашением, правила которого потребитель принимает при установке программного обеспечения на свой компьютер.
Все лицензии, приобретенные у компании IAR, являются бессрочными и включают бесплатную техническую поддержку в течение года. Техническая поддержка также подразумевает обновление имеющейся версии до актуальной на текущий момент.
Здесь необходимо отметить, что стоимость продления технической поддержки и возможности обновления до последней актуальной версии зависит от момента, когда покупается продление. Если годовая техническая поддержка не истекла, то стоимость обновления составляет 20% текущей стоимости пакета, если уже истекла, но срок с момента окончания не превысил три года, то 50% стоимости. Если с момента окончания технической поддержки прошло более трех лет, то обновление придется покупать за 75% стоимости пакета на текущий момент.
Все версии продуктов поставляются в коробочной версии, как правило, комплект поставки включает информационное письмо с номером купленной лицензии, компакт-диск с дистрибутивом и программным сервером лицензирования для соответствующих вариантов с необходимым аппаратным USB-ключом.
Продукция для образовательных учреждений и учебные курсы
Кроме специальных лицензий для некоммерческих и учебных организаций, имеющих значительно более низкую стоимость по сравнению со стандартными лицензиями, компания IAR Systems развивает направление обучения эффективной работе со своими продуктами. Программа IAR Academy доступна в нескольких странах: Швеции, Германии, США и Японии. Для России курсы обучения доступны на базе учебного центра IAR Systems в городе Упсала, Швеция. Конкретные курсы, даты проведения и место проведения можно уточнить на сайте компании. Обучение проводится на английском языке.
Учебные лицензии представляют собой сетевую версию на пять рабочих мест или версию с привязкой к компьютеру. Оба варианта продаются за половину стоимости обычной версии с привязкой к компьютеру. Данные лицензии доступны только некоммерческим и образовательным учреждениям и требуют подписания соответствующей формы.
Вывод
Интегрированная среда разработки EW от компании IAR продолжает удерживать лидирующие позиции среди производителей, предлагающих решения для разработки и отладки программного обеспечения для встраиваемых систем, и предлагает инновационные решения и удобную среду разработки.