Avrdude. Как скачать, забэкапить и залить заново прошивку
Поначалу я попытался пойти привычным способом 'влоб', достал программатор китайский (на заглавной фотке), подключился по ISP, и скачал прошивку. Попытался её залить назад... Льётся, но верификацию не проходит. Битых несколько часов рыл интернет, чтобы понять, как же можно нормально скачать прошивку с Меги по ISP. Толком ничего вразумительного не нашёл, но зато понял, что прошивку можно скачать и залить обратно и без программатора. Об этом опыте я и напишу ниже. А вот о том, как скачивать прошивку не с Arduino платы, да так чтобы она потом назад заливалась я напишу как-нибудь в следующий раз, когда у меня появится плата, которую можно безбоязненно пускать и в огонь и в воду.
Ладно, к делу. Для начала нам нужна утилита Avrdude, она входит в поставку Arduino IDE и в моей версии лежала в папке '%appdata%Arduino15packagesarduino oolsavrdude6.0.1-arduino2in'. Открываем папку, жмём на пустом месте SHIFT + правая кнопка мыши, а в меню выбираем 'Открыть окно команд'. Теперь приведу простую команду, которая проверяет, что контроллер читается.
avrdude.exe -p atmega2560 -c wiring -P COM5Если всё в порядке, то вы должны увидеть примерно такой текст (см. скриншот).Атрибуты команды:
-p atmega2560 - установка типа контроллера.
-c wiring - установка программатора. Это внутренний программатор в плате Arduino Mega 2560. Может я и не правильно выразился, но тот же атрибут использует IDE, когда заливает скомпилированный скетч.
-P COM5 - настройка порта, в который воткнут USB шнурок от Arduin'ы. Подглядеть можно из IDE.
Дальше - скачаем '.hex' файл с прошивкой из контроллера. Для этого воспользуемся командой:
avrdude.exe -p atmega2560 -c wiring -PCOM5 -b115200 -Uflash:r:'printer_firmware'.hex:iЕсли всё хорошо, ориентируемся на скриншот, прошивка сохраниться в файле 'printer_firmware.hex' рядом с avrdude.exe.Новые атрибуты команды:
-b115200 - скорость порта для программатора.
Uflash:r:'printer_firmware'.hex:i - указание считать прошивку в файл 'printer_firmware.hex'.
Считать считали, теперь её можно бэкапить, но вот как её восстановить потом? Да тоже ничего сложного, команда не будет сильно отличаться от чтения.
Проверяем, что всё хорошо - смотрим на скриншот.Новые атрибуты команды:avrdude.exe -p atmega2560 -c wiring -PCOM5 -b115200 -D -Uflash:w:'printer_firmware'.hex:i
-D - запрещает автоматическую очистку памяти микроконтроллера перед прошиванием.
-Uflash:w:'printer_firmware'.hex:i - указывает на то, что нужно записать в память данные из файла 'printer_firmware.hex'.
Дальше я подключил свою Arduino Mega 2560 назад к рампам и проверил, что прошивка работает корректно. Как видите эксперимент хоть и частично, но удался. Так что и я и вы теперь знаете, как можно забэкапить прошивку из ATmega2560, что установлена на Arduino Mega2560.
Еще больше интересных статей
Ремонт платы экструдера qidi xmax-3
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Превращение Anycubic Kobra S1 в S1 Carbon.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Прошло несколько месяцев с нашей предыд...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Нельзя ли сразу расплавить и в...
Почему всё у всех сводится к н...
Придется, я подожду. Вещь нужн...
Всем привет. Может...
При печати пластик выталкивало...
https://www.thingiverse.com/th...
Здравствуйте,подскажите пожалу...