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


9

Я щойно взяв пару клонових плат Arduino Mini Pro 5v (Inland, продається в Microcenter, зараз $ 4 USD), і хотів використовувати свій Uno в якості провайдера, як я робив раніше з чіпами ATmega328 та ATtiny85. Я запрограмував Uno з інструкціями на сторінці підручника ArduinoISP і підключив Uno до Mini Pro, використовуючи інструкції на цій сторінці . Я не можу отримати Arduino IDE або avrdude з командного рядка для успішного програмування цих плат незалежно від того, що я намагався. За винятком того, що я можу використовувати ID 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.

Дякую!

Відповіді:


7

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

Не впевнений, як я пропускав це раніше, але це вирішити принаймні легко.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.