Проблемное программирование Mini Pro через Arduino как ISP

Я только что взял пару досок Arduino Mini Pro 5v (Inland, проданных в Microcenter, в настоящее время 4 доллара США), и я хотел использовать мой Uno в качестве ISP, как я уже делал с ATmega328 и ATtiny85. Я запрограммировал Uno с инструкциями на странице учебника ArduinoISP , и я подключил Uno к Mini Pro, используя инструкции на этой странице . Я не могу получить IDE Arduino или avrdude из командной строки, чтобы успешно запрограммировать эти платы независимо от того, что я пытаюсь. За исключением того, что я могу использовать IDE Arduino для записи нового загрузчика в Mini Pro.

Я также подключил индикаторы состояния (контакты 7, 8 и 9), и я вижу, что у программиста есть условие ошибки (вывод 8), когда я пытаюсь запрограммировать что-либо помимо загрузчика.

Вот моя командная строка avrdude, где я попытался установить плавкие предохранители на Mini Pro:

avrdude -P /dev/tty.usbmodema0121 -b 57600 -c avrisp -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m

Я получаю следующий ответ от avrdude:

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c

avrdude done.  Thank you.

У меня не было никаких проблем с использованием почти такой же самой настройки, но с чипом ATmega328 или ATtiny85 на макете с avrdude в прошлом, поэтому я не понимаю, что здесь происходит.

Я также посмотрел код ArduinoISP, и я не совсем уверен, что такое resp = 0x1c. Я не вижу значения 0x1c, определенные в разделе «Определения STK» кода, поэтому я не уверен, что может вызвать это.

Любые указатели здесь будут оценены. И да, я знаю, что я могу использовать плату Uno с чипом ATmega328, который можно использовать как программист. Но я хочу, чтобы иметь возможность перезаписывать область загрузчика своим собственным кодом, как я могу, с обычным чипом ATmega328.

Спасибо!

8 голосов | спросил Dennis Munsie 22 AMpWed, 22 Apr 2015 06:19:19 +030019Wednesday 2015, 06:19:19

1 ответ


7

После того, как ты немного окунулся, выяснилось, что моя проблема была в скорости передачи. Я мог бы заставить его работать, установив его на 19200, только немного медленнее. Кроме того, вы можете изменить эскиз ArduinoISP, чтобы повысить скорость передачи данных в бодах. Я использовал этот пост , чтобы включить 115200 бод, и я смог успешно использовать avrdude по более высоким ставкам.

Не знаю, как я пропустил это раньше, но это легко решить по крайней мере.

ответил Dennis Munsie 22 AMpWed, 22 Apr 2015 06:42:02 +030042Wednesday 2015, 06:42:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132