Научная статья на тему 'Сравнительная оценка сред разработки устройств на AVR микроконтроллерах'

Сравнительная оценка сред разработки устройств на AVR микроконтроллерах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1690
199
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
AVR МИКРОКОНТРОЛЛЕР / СРЕДА РАЗРАБОТКИ / ЯЗЫК C / AVR МіКРОКОНТРОЛЕР / СЕРЕДОВИЩЕ РОЗРОБКИ / МОВА C / WINAVR / LCD / AVR MICROCONTROLLER / DEVELOPMENT ENVIRONMENT / C

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Плахтеев Анатолий Павлович, Осипец Н. В., Шанталова Н. С.

Проведено сравнение качественных показателей средств разработки для микроконтроллеров WinAVR, CodeVision, IAR AVR, FlowCode на тестовых задачах интерфейса оператора.

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

COMPARATIVE ASSESSMENT OF DEVICE DEVELOPMENT ENVIRONMENTS BASED ON AVR MICROCONTROLLERS

Comparison of quality indicators of development of environment s for AVR microcontrollers-WinAVR, CodeVision, IAR AVR, FlowCode on test problems of the operator interface has been carried out.

Текст научной работы на тему «Сравнительная оценка сред разработки устройств на AVR микроконтроллерах»

УДК 004.415.2

СРАВНИТЕЛЬНАЯ ОЦЕНКА СРЕД РАЗРАБОТКИ УСТРОЙСТВ НА AVR МИКРОКОНТРОЛЛЕРАХ

А.П. Плахтеев, доцент, к.т.н., Н.В. Осипец, студент,

Н.С. Шанталова, студент, ХНАДУ

Аннотация. Проведено сравнение качественных показателей средств разработки для микроконтроллеров - WinAVR, CodeVision, IAR AVR, FlowCode на тестовых задачах интерфейса оператора.

Ключевые слова: A VR микроконтроллер, WinA VR, LCD, среда разработки, язык C.

ПОРІВНЯЛЬНА ОЦІНКА CEPEДOBИЩ РОЗРОБКИ ПРИСТРОЇВ НА AVR МІКРОКОНТРОЛЕРАХ

А.П. Плахтєєв, доцент, к.т.н., Н.В. Осипець, студент,

Н.С. Шанталова, студент, ХНАДУ

Анотація. Проведено порівняння якісних показників середовищ розробки для мікроконтроле-рів - WinAVR, CodeVision, IAR AVR, FlowCode на тестових завданнях інтерфейсу оператора.

Ключові слова: A VR мікроконтролер, WinA VR, LCD, середовище розробки, мова C.

COMPARATIVE ASSESSMENT OF DEVICE DEVELOPMENT ENVIRONMENTS BASED ON AVR MICROCONTROLLERS

A. Plakhteev, Candidate of Engineering Science, associate professor,

N. Osipets, student, N. Shantalova, student, KhNAHU

Abstract. Comparison of quality indicators of development of environments for A VR microcontrollers-WinAVR, CodeVision, IAR AVR, FlowCode on test problems of the operator interface has been carried out.

Key words: AVR microcontroller, WinAVR, LCD, development environment, C.

Введение

В настоящее время в электронных системах широкое распространение получили микроконтроллеры, благодаря их малым габаритам и стоимости, достаточно широким функциональным возможностям. Известно более 200 типов микроконтроллеров, но лидирующее положение занимают 8-разрядные микроконтроллеры с архитектурами: AVR, PIC,

MCS51. Выбор инструментальных средств разработки программ для микроконтроллеров производится с учетом размера создаваемых программ и времени их выполнения

для определенных классов задач. Эта статья посвящена сравнительной оценке инструментальных средств для AVR микроконтроллеров на задачах построения интерфейса оператора.

Анализ публикаций

Наиболее широкое распространение получили средства разработки программ для AVR микроконтроллеров [1-7]. Сравнительно новыми являются графические среды [3, 7]. Среды разработки на основе Ваэк, Раэса1 получили ограниченное применение. Подав-

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

Цель и постановка задачи

Для микроконтроллерной прикладной системы необходим файл, загружаемый во flash-память микроконтроллера, который обычно имеет разрешение *.hex. Такой файл создается средой разработки. На рис.1 приведен пример прикладной системы с типовыми элементами интерфейса оператора - LCD и устройствами ввода-вывода и взаимодействие со средой разработки. Основным элементом среды разработки (рис. 2) является компилятор, который определяет размер кода и время выполнения программы. Современные компиляторы обладают широкими возможностями по оптимизации программ, с целью увеличения скорости выполнения программ или уменьшения размера кода.

Интерфейс

оператора

Рис. 1. Взаимодействие прикладной системы со средой разработки

Корректное сравнение сред разработки следует проводить с одинаковыми установками компилятора и на одних тестовых задачах.

Технология сравнения средств разработки состоит в следующем. Для выбранных примеров реализуются фрагменты программ для двух типовых задач с использованием сред: WinAVR, Code Vision, IAR AVR, Flow Code, Algorithm Builder.

Стоимость сред разработки

Существует множество производителей коммерческих и бесплатных сред разработки. Наиболее известные коммерческие среды:

IAR Embedded Workbench v5.51 for AVR [1], Code vision v2.05 [2] для языка С и Flowcode [3] для графического программирования.

Редактор Внутренний отладчик

Компилятор Симулятор

Программатор

IDE

Рис. 2. Элементы среды разработки

Сравнительная стоимость коммерческих сред приведена на рис. 3. Поскольку стоимость достаточно высока, для оценки качества многих коммерческих компиляторов имеются пробные версии сред с ограничениями по функциям и размеру кода.

Рис. 3. Сравнительная характеристика цен сред

разработки

Альтернативой коммерческим средам являются бесплатные Windows/Linux - компиляторы AVR-GCC [4] и WinAVR [5], которые интегрируются с AVR Studio[6]. По качеству эти компиляторы уступают коммерческим, но в различной степени для классов задач. Представляет интерес сравнение сред по длине кода и скорости выполнения программ для реализации интерфейса оператора. Бесплатная среда графического программирования - графический ассемблер Algorithm Builder [7] позволяет получить самый короткий и быстрый код в простых приложениях.

Сравнение на тестовых примерах

Пример 1. Управление микроконтроллером ATtiny2313 монохромным графическим жидкокристаллическим индикатором размером 128x64 точки (LCD WM-G1206A-6YLYg фирмы Wintek) для вывода прямоугольника 8 х8 пикселей в заданных координатах.

Пример 2. Управление микроконтроллером ATmega8 двухстрочным 16-символьным жидкокристаллическим индикатором (LCD WH1602B-NYG-CT фирмы Winstar) для вывода двух строчек текста из памяти микроконтроллера.

Длина программы определяет требования к ресурсу микроконтроллера - объему Flash-памяти и, как следствие, определяет выбор модели МК (аппаратной платформы). Сравнительные данные по длине кода приведены на рис. 4. Коммерческие компиляторы для данного класса задач дают лучший результат, чем WinAVR. Это связано с более высоким качеством библиотек и характеристик компиляторов. Наилучший результат, как и следовало ожидать, показал графический ассемблер Algorithm Builder.

Рис. 4. Сравнительная характеристика по размеру программ

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

Сравнение данных по времени выполнения программы представлена на рис. 5. WinAVR показывает хороший результат для задачи 1. Ассемблерный код по быстродействию значительно превосходит все программы, полученный С- компиляторами. Вследствие этого компиляторы С способны обрабатывать ассемблерные вставки и внешние функции при совместном использовании ассемблера и языка С.

800000

700000

600000

500000

400000

300000

200000

100000

0

746177

ш

722570

331

3 633737

1

35232

-с£

À4

<$■

&

□ Пример 1 □ Пример 2

Рис. 5. Сравнительная характеристика по времени выполнения программ

Выводы

Бесплатный Windows/Linux компилятор WinAVR позволяет создать загрузочный код, который по размеру и времени выполнения функций интерфейса оператора умеренно уступает своим коммерческим аналогам, что свидетельствует о целесообразности использования таких сред при разработке встроенных приложений. Избыточный размер программы компенсируется выбором аппаратной платформы. Временной анализ процесса выполнения программ позволяет обнаружить критические участки кода и дополнительно использовать оптимизацию за счет реализации на ассемблере.

Литература

1. IAR Embedded Workbench for Atmel AVR. -

http://www.iar.eom/website1/1.0.1.0/107/1/

2. CodeVisionAVR High Performance C Com-

piler for Atmel AVR. - http://www.x-graph. be/codevision.htm

3. Flowcode. - http://www.matrixmultimedia.

com/flowcode.php

4. AVR-GCC Tutorial. - URL: winavr. science-

prog.com/avr-gcc-tutorial/

5. WinAVR. - sourceforge.net/projects/winavr/

6. AVR Studio 4. - atmel.com/dyn/products/

7. The Graphics Integrated Development Envi-

ronment for AVR microcontrollers. -http://www.algrom.net

Рецензент: О.П. Алексеев, профессор, д.т.н., ХНАДУ.

Статья поступила в редакцию 19 мая 2011 г.

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