Как считать прошивку Arduino через UART

Для того, чтобы считать прошивку, дамп из Arduino через UART TTL, собственно, для этого нужен преобразователь usb — uart ( CP2102 Orange Pi Zero ) .Как подключить и узнать порт написано  здесь:

Подключение Arduino через UART

Далее скачиваем консольную программу avrdude:

avrdude-6.3-mingw32

Зачастую при попытке считать прошивку с Ардуино появляются ошибки:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x12 

Это связано со скоростью передачи данных, скорость передачи данных необходимо снизить до 19200 бод.

Исправили скорость до 19200 бод, появляется ошибка, вроде:

avrdude: Device signature = 0x1e9406 (probably m168)
avrdude: Expected signature for ATmega168P is 1E 94 0B

Это связано с тем, что в выбранный микроконтроллер прошит загрузчик Arduino и сигнатура чипа не совпадает.Чтобы это обойти необходимо использовать флаг -F , который отменяет проверку сигнатуры чипа.

Итого, чтобы считать прошивку, необходимо выполнить:

1.Распаковать архив avrdude

2.В распакованной папке создать текстовой файл с содержанием:

avrdude -F -p m168p -c arduino -b 19200 -P COM7  -v -U flash:r:flash.hex:i

и переименовать его в read_firm.bat

Где:

-F  — не проверять сигнатуру\подпись чипа

-p m168p — конкретный микроконтроллер, в наше  случает ATMEGA168

-c arduino — выбор программатора, программатор arduino, представляет из себя протокол STK500v1

-b 19200 — выбор скорости передачи данных, в бодах

-P COM7 — выбор порта на котором сидит UART, у вас будет свой порт

-v  Вывести подробную информацию

-U flash:r:flash.hex:r —  U — команда программирования, здесь flash — означает выбрать память из flash(еще может быть eeprom, фьюзы и т.д.).Буква r — означает прочитать флэш память(сокращение от read), «flash.hex» — имя файла, который создастся при чтении  памяти flash.i — означает записать файл в формате Intel HEX, а r(не путать с командой чтения) записать файл в формате дампа, то есть так, как прочитано.

3.Запустить файл  read_firm.bat, после чего пойдет процесс считывания содержимого flash-памяти.Файл сохранится рядом с программой avrdude с именем flash.hex.

 

ОЦЕНИТЕ ДАННУЮ ПУБЛИКАЦИЮ:

Средний рейтинг / 5. Количество оценок:

Мы сожалеем, что эта публикация Вас не устроила.

Сохранить в:

Оставить комментарий

avatar
  Подписаться  
Уведомление о