Я приобрел плату Arduino с ATmega2560 , уже запрограммированную с помощью загрузчика Arduino и некоторой программы. У меня есть эскиз , но прежде чем возиться с ним, я бы хотел сделать резервную копию текущего двоичного файла, который находится в контроллере. Как и большинство Arduinos, он подключен к ПК с помощью преобразователя USB-последовательный порт, подключенного к TX0 и RX0, и не имеет интерфейса ISP .
Очевидно, в загрузчике Arduino есть код для чтения , но я понятия не имею, какой инструмент использовать для доступа к нему, поскольку в IDE Arduino нет пункта меню.
Какое программное обеспечение мне нужно, чтобы прочитать программу от Arduino?
Ответы:
Загрузчик Arduino является вариантом оригинального протокола STK500 (1.x) . Символ 't' (ASCII 0x74) является командой «Чтение страницы». Так что, возможно, можно вытащить программу через последовательный порт через загрузчик, используя AVRDUDE ... Но, в лучшем случае, я думаю, что потребуется некоторое время для его запуска.
источник
Я сбросил память от Дуемилленова с помощью ATMega328P с помощью следующей команды:
источник
-v
?./avrdude -C ../etc/avrdude.conf -v -v -v -v -p ATmega32u4 -c arduino -b 19200 -U flash:r:"/tmp/dump.bin":r -P /dev/ttyUSB0
; написать./avrdude -C ../etc/avrdude.conf -v -v -v -v -p ATmega32u4 -c arduino -b 19200 -U flash:w:"/tmp/dump.bin":r -P /dev/ttyUSB0
:; проверить:./avrdude -C ../etc/avrdude.conf -v -v -v -v -p ATmega32u4 -c arduino -b 19200 -U flash:v:"/tmp/dump.bin":r -P /dev/ttyUSB0
ЕЕ резервное копирование AVR с AVRDUDE нити ответить на ваш вопрос? Как правило, вы можете читать всю память с AVR, пока не установлен предохранитель.
Это настройка, которую я использую для ATtiny и ATmega.
На доске показано:
Обратитесь к техническому описанию контроллера, какой точный штырь использовать. В Интернете довольно много сайтов, пишущих о программировании AVR с использованием Arduino, например: http://hlt.media.mit.edu/?p=1229.
источник
Насколько я вижу из исходного кода загрузчика Arduino , нет способа «сбросить» из него всю память. Загрузчик поддерживает режим «монитор», который позволяет вам выгружать один байт памяти за раз. Однако, согласно комментариям исходного кода "/ * функции монитора будут компилироваться только при использовании ATmega128 из-за ограничений размера загрузочного блока * /"
Поэтому я полагаю, что вам не повезло, если вы не хотите использовать провайдера, изменить загрузчик или загрузить эскиз, чтобы сделать это.
источник
else if(ch=='t') {
.Я думал, что есть пункт меню для этого, но я не нахожу это прямо сейчас. Если у вас есть ISP-программист, вы можете использовать AVR Studio для считывания образа памяти с микросхемы и сохранения его в HEX-файле, что позволит вам восстановить его тем же способом.
редактировать
В ответ на ваш комментарий - это просто! Вам нужно усвоить информацию на двух диаграммах, чтобы осуществить ее. Во-первых, это карта контактов Arduino / ATMega2560.
Второе - это отображение заголовка ISP / AVR:
Вооружившись этими двумя картинками, вы сможете увидеть, как их подключить.
Имея их, вы сможете использовать AVR Studio для считывания Hex-файла с чипа - дайте мне знать, если вам нужно больше рекомендаций.
источник