Категории публикаций
Подписка на рассылку по Email
новости (подписчиков: 3)
комментарии (подписчиков: 2)

Отменить подписку
Популярные публикации
Интересный опрос
Что вас больше всего интересует?

Заработок в интернете
Радиоэлектроника
Программирование
Операционные системы
Информационная безопасность
Саморазвитие, лайфхак
Спорт
Другое
Поблагодарить автора
donate
1B4ZZ2PXUd9E7AqEB82AqFnkpk2bt5hQG7

Настройка Geany в Linux для программирования AVR микроконтроллеров

Размещено в категории: Микроконтроллеры

Узнаем как настроить среду программирования Geany для разработки программ под AVR микроконтроллеры на языках C (Си) Assembler (Ассемблер). Кратко рассмотрим структуру команд для компиляции, сборки и прошивки программы в микроконтроллер.

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

Итак, вы уже установили Geany, перейдем к настройке данной среды для удобной разработки программ, но прежде разберемся с встроенным терминалом.

В прошлой статье на рисунке 2, где изображен скриншот Geany, снизу слева нет вкладки с названием "Terminal", если у вас также нет терминала то для появления возможности использовать терминал в Geany необходимо установить пакет libvte9:

sudo apt-get install libvte9

Дальше мы настроим среду Geany для удобной компиляции и прошивки микроконтроллера при программировании на языках C и Assembler.

 

Настройка Geany для AVR Ассемблера

Для улучшенной подсветки синтаксиса AVR Ассемблера выполним команду, которая скачает с оффициального сайта документации шаблон синтаксиса для asm-файлов и сохранит его в домашней директории с настройками для Geany:

wget http://wiki.geany.org/_export/code/config/avr_asm -O ~/.config/geany/filedefs/filetypes.asm

Откроем для редактирования в среде Geany какой-нибудь файл с расширением ".asm", можно создать пустой и открыть его. Теперь идем в меню Build - Set Build Commands, откроется окно с настройками для кнопок компиляции, сборки и выполнения. Заполним поля для команд как представлено на рисунке ниже:

Настройка Geany для AVR ASM

Рис. 1. Настройка Geany для компиляции и прошивки микроконтроллеров используя язык AVR Assembler.

Здесь все просто, для каждой из кнопок мы указываем какие из команд нужно выполнять:

  • avra --includepath /usr/share/avra/ "%f"   - компилируем ASM файл, указав папку c INC-файлами для AVR чипов;
  • avr-size %e.hex   - смотрим статистику по размеру получившегося HEX-файла;
  • avrdude -c usbasp -p m8 -P usb -U flash:w:%e.hex   - прошиваем микроконтроллер ATmega8 (ключ -p m8) при помощи программы avrdude.

Сочетание символов "%f" - означает подстановку полного имени открытого файла (например my_program.c), а сочетание символов "%e" - подстановку только имени файла без расширения (например my_program).

Если у вас микроконтроллер другого типа то в команде прошивки для avrdude нужно указать соответствующий ключ -p (partno) с типом вашего микроконтроллера. Узнать значение опции для вашего микроконтроллера можно на страничке документации avrdude: http://www.nongnu.org/avrdude/user-manual/avrdude_4.html

В качестве программатора я использую USB ASP, поэтому если вы используете другой программатор то опция "-c usbasp" должна быть изменена. Список поддерживаемых программаторов и значений опций для avrdude приведены на справочной странице: http://www.nongnu.org/avrdude/user-manual/avrdude_12.html .

Более подробно программу avrdude, ее опции, а также использование с программаторами на онове COM или LPT порта мы рассмотрим в следующей статье. Пока что можете оставить все как есть, позже вы всегда сможете изменить настройки команд под любой тип программатора и микроконтроллера.

При компиляции для команды avra мы указывали путь к INC-файлам, что же это такое? - это файлы (расширение ".inc") с набором макросов и предопределений для конкретных моделей микроконтроллеров что нам будут необходимы в процессе написания наших программ на Ассемблере. Посмотреть список доступных файлов под разные модели чипов можно командой в консоли:

ls /usr/share/avra/

Для того чтобы результат прошивки микроконтроллера через avrdude при помощи кнопки Flash отображался во встроенном терминале нужно в настройках терминала Geany (Edit - Preferences - Terminal) установить галочку напротив пункта "Execute programs in the VTE".

 

Настройка Geany для AVR Си

С настройками для AVR-ассемблера мы разобрались, теперь сделаем настройки кнопок для компиляции, сборки и прошивки программы написанной на языке Си.

Откроем в Geany какой-либо файл с расширением ".c" для редактирования. Снова идем в настройки команд для сборки: меню Build - Set Build Commands.

Делаем настройки как показано на рисунке ниже:

Geany AVR GCC настройки

Рис. 2. Настройка Geany для компиляции и прошивки AVR GCC.

Рассмотрим каждую из команд:

  • avr-gcc -mmcu=atmega8 -Os %f -o %e.o   - компилируем ".c" файл и получаем на выходе объектный файл ".obj";
  • avr-objcopy -j .text -j .data -O ihex  %e.o  %e.hex   - создаем на основе файла ".obj" файл формата Intel HEX ".hex";
  • avr-size %e.hex   - смотрим статистику по размеру получившегося HEX-файла;
  • avrdude -c usbasp -p m8 -P usb -U flash:w:%e.hex   - прошиваем микроконтроллер ATmega8 (ключ -p m8) при помощи avrdude.

Здесь также как и в настройках для Ассемблера не забываем что для avrdude нужно указать соответствующий ключ -p с типом вашего микроконтроллера, где искать значение для вашего микроконтроллера мы уже рассмотрели выше. Также следует помнить что для avrdude нужно указать верный тип программатора - опция "-c".

Также для компилятора avr-gcc нужно указать тип микроконтроллера, это сделано в команде при помощи ключа "-mmcu=atmega8". Список микроконтроллеров и их названия для использования в данной опции представлены на страничке документации по GCC: https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html

 

Заключение

В настройках Geany для кнопок Компиляция-Сборка-Запуск можно указывать не только команды но и скрипты с целыми списками команд на выполнение или же команды для работы с использованием Makefile. Все достаточно просто и удобно!

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

Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.

 (0/5) голосов: 0   просмотров: 702


Тематика:  AVR  микроконтроллер  Geany  avrdude


Добавить комментарий captcha