Проектирование программно-аппаратного комплекса (ПАК) для облегчения процесса отладки устройств на базе микропроцессора AT91SAM9260

дипломная работа

6.1 Выбор среды программирования

На сегодняшний день все программные средства разработки можно разделить на платные и бесплатные продукты с открытым кодом (см. таблицу 6.1). Функциональные возможности у всех полноценных продуктов примерно одинаковые.

Таблица 6.1

Название пакета

Поддержка эмуляторов

Языки и стандарты

IAR

RDI, Wiggler, AT91SAM-ICE, J-INK

ANSI C Extended C++ (частичная поддержка C++)

GNU GCC + Eclipse

RDI, Wiggler, AT91SAM-ICE, J-INK

ANSI CC99 (частичная поддержка C++)

ICC Imagecraft

-

ANSI C

Компания IAR предлагает своим пользователям несколько версий среды разработки, которые значительно отличаются функциональными возможностями и сервисной поддержкой. В том числе есть бесплатная версия IAR Kickstart, ограниченная на максимальную длину выходного бинарного файла - до 32 Кбайт. В такое ограничение помещаются небольшие пользовательские программы, активно использующие стандартные библиотеки языка C/C++. Пакет IAR Kickstart предлагает совершенно привычную IDE со ставшим классическим интерфейсом. Вполне приличный редактор, хорошие возможности по отладке с использованием JTAG - эмулятора: просмотр и правка регистров, памяти, watch, использование условных точек остановок. Есть поддержка как эмуляторов от Segger, так и более дешевых, типа Wiggler, через внешний RDI-сервер. Словом - все, что нужно для полноценной отладки пользовательской программы. Оптимизирующий компилятор IAR позволяет повысить скорость выполнения кода иногда в несколько раз.

Альтернативой коммерческой среде от IAR является открытая и бесплатная среда разработки на платформе Eclipse и компиляторе GNU GCC. От IAR она отличается более богатыми возможностями редактора кода, отсутствием каких-либо ограничений на размер файлов. К недостаткам этого решения необходимо отнести относительно более сложную процедуру настройки среды перед первым использованием. Набор поддерживаемых JTAG-эмуляторов примерно одинаковый. После того, как компания Segger выпустила GDB-сервер для своих эмуляторов, в среде Eclipse + GCC появилась возможность использования всей линейки эмуляторов от Segger. Сложность настройки деталей компиляции проектов (линковка, подключение библиотек, и т.д.) примерно одинаковая. Оптимизация в GCC незначительно уступает IAR.

Отличий у этих продуктов много, поэтому все зависит от возможностей по покупке коммерческой среды и предыдущего опыта работы. Работа в среде IAR под разными архитектурами практически не отличается. С Eclipse, на первый взгляд, все несколько сложнее, но к интуитивно понятному интерфейсу привыкнуть нетрудно. Диалекты расширений языка Cи у IAR и GCC разные. В основном это касается работы с памятью и прерываниями, поэтому простого переноса проекта из одной среды в другую не получится. Однако, чисто алгоритмический код в рамках стандарта, переносится без каких-либо трудностей. Для своих микроконтроллеров Atmel предлагает пользователям библиотеку для работы с периферией, использование этой библиотеки позволит упростить и ускорить разработку программной составляющей этого дипломного проекта. Существует версия библиотеки IAR и для работы с GCC.

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

Делись добром ;)