Запрограммировать микропроцессор AVR можно кучей разный способов. Самым простым и доступным способом будет использование USBasp за 2$. Но пока он дойдет, вполне можно воспользоваться имеющейся Arduino. Соответствующий скетч есть в стандартной поставке IDE в меню Файл — Образцы — ArduinoISP. Но для Arduino Leonardo и других на чипе MEGA32U4 со встроенным портом COM есть особенности. Подключать внешний контроллер нужно не к выводам 11,12,13, а напрямую к разъему ISP. Ниже показано как прошить микропроцессор ATMEGA328P на плате OpenLRS RX, имеющей питание 3.3 В. Для пятивольтовых процессоров 4-ю ногу разъема ISP можно соединять напрямую.
Вывод RST подключаем к выводу 10 Arduino Leonardo. Для того, чтобы схема корректно работала нужно в коде скетча ArduinoISP подправить строчку:
#define RESET 10
Прошиваем Leonardo этой прошивкой и можно шить процессоры. Я шью из командной строки, но можно воспользоваться GUI — SinaProg. Главное выставить скорость порта 19200 иначе будут ошибки синхронизации. Ниже для примера команды прошивки загрузчика optiboot в плату OpenLRS RX c 3.3В ATMEGA328P.
avrdude -Cavrdude.conf -patmega328p -carduino -PCOM23 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m
avrdude -Cavrdude.conf -patmega328p -carduino -PCOM23 -b19200 -Uflash:w:optiboot_atmega328.hex:i -Ulock:w:0x0F:m
Утилитка avrdude лежит в «C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe». Для работы ей нужна еще библиотека
«C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\libusb0.dll» и конфигуратор «C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf». Можно скопировать эти три файла в отдельную папку и пользоваться.
Последнее обновление 31.03.2022 в 12:11