AVRDude (AVR Downloader-Uploader) — кроссплатформенная свободная консольная программа, предназначенная для прошивки микроконтроллеров фирмы Atmel серии AVR.
Отличается поддержкой большого числа разнообразных программаторов и микроконтроллеров. Кроме официально поддерживаемых Atmel устройств, сюда входят и самодельные любительские устройства, к примеру популярный программатор USBAsp.
Программа позволяет прошивать FLASH- и EEPROM-память, программировать фьюзы, выполнять верификацию FLASH-памяти с выбранным HEX-файлом.
Сторонними разработчиками для AVRDUDE было создано несколько удобных графических оболочек позволяющих прошивать микроконтроллеры, одна из этих графических оболочек будет рассмотрена в этой статье.
AVRDUDESS
Для установки AVRDUDE в LINUX в терминале исполните следующие команды:
sudo apt-get install libmono-winforms2.0-cil
sudo apt-get install avrdude
Скачайте и распакуйте архив с программой AVRDUDESS — avrdudess_20131120.zip
Далее запустите AVRDUDESS:
sudo mono ~/папка_с_файлами_программы/avrdudess.exe
Для прошивки микроконтроллера в данном примере будет использовать программатор USBAsp, прошивать будем микроконтроллер Atmega8 с кварцем на 4 МГц.
Схема макетной платы Atmega8
Прошивка — atmega8_hex.ino_atmega8_4000000L.hex
div id=»marketWidget»>
После запуска программы AVRDUDESS выберите программатор, тип микроконтроллера, укажите фьюзы как показано на скриншоте:
Прошейте контроллер, запишите фьюзы.
После прошивки с периодом 1 секунда начнет мигать светодиод подключенный к выводу 19 (PB5) микроконтроллера Atmega8.
В ардуино ИДЕ установил Атмега8 , но меню ПОРТ не активен,
Arduino: 1.8.16 (Windows 10), Плата:»ATmega8, Yes (UART0), EEPROM retained, BOD 4.0V, LTO disabled, External 16 MHz»
Скетч использует 854 байт (11%) памяти устройства. Всего доступно 7680 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 1015 байт для локальных переменных. Максимум: 1024 байт.
avrdude: ser_open(): can’t open device «\\.\COM3»: �� ������� ����� ��������� ����.
Problem uploading to board. See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
Прошивать нужно USBAsp >> загрузить через программатор, перед этим необходимо загрузить загрузчик >> Записать загрузчик
Только после этого будет доступен монитор порта и прошивка через UART
А как это работает под WIN10,
с обычной avrdude?
Возможно в такой связке прошивавть Atmega8, без промежуточной Arduino
Почему-то фото не открывается…
Плагин сайта вывода фото в комментариях сломался, пока не могу решить эту проблему.
Связка: программатор USBasp+(Схема макетной платы Atmega8)+ArduinoIDE 1.8.16
СООБЩЕНИЯ ПРИ ПОПЫТКЕ ПРОШИВКИ.
1.Ошибка при записи загрузчика
2.Arduino: 1.8.16 (Windows 10), Плата:»ATmega8, Yes (UART0), EEPROM retained, BOD 4.0V, LTO
disabled, External 16 MHz»
Скетч использует 4544 байт (59%) памяти устройства. Всего доступно 7680 байт.
Глобальные переменные используют 484 байт (47%) динамической памяти, оставляя 540 байт для локальных переменных. Максимум: 1024 байт.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn’t answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
выбранный последовательный порт
не существует или плата не подключена к нему
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
Под avrdude прошивается?
А как это работает под WIN10,
с обычной avrdude?
Так же.
— собрал макетную плату по схеме, кварц 16 мГц
— программатор USBASP v2.0
— прога AVRDUDE 3.3
при пршивке — ошибка, пишет:
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: error: programm enable: target doesn’t answer. 1
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
єтот адаптер работает без проблем
https://www.drive2.ru/l/2302971/
Прошивайте по старому, скетч можно компилировать в HEX при помощи Arduino IDE.
все хорошо работает.
На платке, которую собрал по схеме выше, просто был неконтакт.