Технический Портал Левши Среда, 18.10.2017, 08:27
| RSS
Меню сайта

Категории раздела
ПИТАНИЕ [17]
МЕТАЛЛО ДЕТЕКТОРЫ [1]
СВЯЗЬ [5]
НАЧИНАЮЩИМ [6]
МикроКонтроллеры [15]
АВТОМАТИКА [4]
АУДИО. [2]
СИСТЕМЫ ОХРАНЫ И БЕЗОПАСНОСТИ [6]
СИСТЕМЫ ДЛЯ САМООБОРОНЫ [1]
ТЕЛЕФОНИЯ [7]

Мини-чат

Главная » Статьи » РАДИОЭЛЕКТРОНИКА » МикроКонтроллеры

ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AVR

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

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

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

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

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

Одним словом, Си - наиболее удобный язык как для начинающих знакомиться с микроконтроллерами AVR, так и для серьезных разработчиков.

Компиляторы



Чтобы преобразовать исходный текст программы в файл прошивки микроконтроллера, применяют компиляторы.

Фирма Atmel поставляет мощный компилятор ассемблера, который входит в среду разработки AVR Studio, работающую под Windows. Наряду с компилятором, среда разработки содержит отладчик и эмулятор.
AVR Studio совершенно бесплатна и доступна на сайте Atmel.

В настоящее время представлено достаточно много компиляторов Си для AVR. Самым мощным из них считается компилятор фирмы IAR Systems. Именно ее сотрудники в середине 90-х годов участвовали в разработке системы команд AVR. IAR C Compiler имеет широкие возможности по оптимизации кода и поставляется в составе интегрированной среды разработки IAR Embedded Workbench (EWB), включающей в себя также компилятор ассемблера, линкер, менеджер проектов и библиотек, а также отладчик. Цена полной версии пакета составляет 2.820 EUR.

Фирмой Image Craft выпускается компилятор языка Си, получивший достаточно широкую популярность. Image Craft C Compiler обладает неплохим уровнем оптимизации кода и достаточно низкой ценой (от $199 до $749 в зависимости от версии).

Не меньшую популярность завоевал Code Vision AVR C Compiler, цена полной версии этого компилятора невысока и составляет 150 EUR. Компилятор поставляется вместе с интегрированной средой разработки, в которую, помимо стандартных возможностей, включена достаточно интересная функция - CodeWizardAVR Automatic Program Generator. Наличие в среде разработки последовательного терминала позволяет производить отладку программ с использованием последовательного порта микроконтроллера.

Поистине культовой стала интегрированная среда разработки WinAVR. Она включает мощные компиляторы Си и ассемблера, программатор AVRDUDE, отладчик, симулятор и множество других вспомогательных программ и утилит. WinAVR прекрасно интегрируется со средой разработки AVR Studio от Atmel. Ассемблер идентичен по входному коду ассемблеру AVR Studio. Компиляторы Си и ассемблера имеют возможность создания отладочных файлов в формате COFF, что позволяет применять не только встроенные средства, но и использовать мощный симулятор AVR Studio. Еще одним немаловажным плюсом является то, что WinAVR распространяется свободно без ограничений (производители поддерживают GNU General Public License).

В качестве резюме стоит сказать, что WinAVR является идеальным выбором для тех, кто начинает осваивать микроконтроллеры AVR. Именно эта среда разработки и рассматривается в качестве основной в данном курсе.

Категория: МикроКонтроллеры | Добавил: ЛЕВША (12.06.2008)
Просмотров: 8444 | Комментарии: 4 | Рейтинг: 1.0/1
Всего комментариев: 4
4  
Самый удобный язык для АВРов, это Си, для РИКов ассемблер. Так как у АВР больше памяти, а ассемблер дает самый компактный код, что для РИКов с их 1кбайтом памяти в самый раз.

3  
прошу простить за опечатку,
правильное название -Algorithm Builder ,
ссылка вот:-
http://algrom.net/russian.html
всего 3МБ.

2  
Игорь-Уфа,
Сам-то я пишу на AVR GCC в среде WinAVR,
но первую свою программу для AVR делал на AgoritmBuilder,
очень рекомендую .
Не требует знания системы команд МК.
Без регистрации делает то-ли 2 КБ,то-ли 50% флэш-памяти...
(подзабыл, да и версий было очень много).Поздние версии содержат и систему вутрисхемной отладки.

1  
Пожалуй есть ещё один подходящий язык программирования для микроконтроллеров AVR, который стоит отметить :BASCOM-AVR - бейсик для AVR. Преимущества - удобство, простота и скорость осваивания.
DEMO version compiles 4KB of code - при этом один из популярных современных МК ATtiny2313 (наследник-замена AT90S2313) содержит всего 2 КБ памяти для программы.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Статистика

Наш опрос
КАКАЯ ОБЛАСТЬ ЭЛЕКТРОНИКИ ВАС ИНТЕРЕСУЕТ?
Всего ответов: 2464

Друзья сайта
  • Форумы Игростроя
  • CЛОВЕНСК
  • RemEXpert
  • ПАЯЛЬНИК
  • МЕДТЕХНИКА

  • Copyright MyCorp © 2017