Problem beim Programmieren von Mini Pro über Arduino als ISP


9

Ich habe gerade ein Paar Arduino Mini Pro 5v-Klonplatinen (Inland, im Microcenter erhältlich, derzeit 4 USD) gekauft und wollte mein Uno als ISP verwenden, wie ich es zuvor mit ATmega328- und ATtiny85-Chips getan habe. Ich habe das Uno mit den Anweisungen auf der ArduinoISP-Lernseite programmiert und das Uno mithilfe der Anweisungen auf dieser Seite mit dem Mini Pro verbunden . Ich kann die Arduino IDE oder avrdude nicht über die Befehlszeile abrufen, um diese Boards erfolgreich zu programmieren, egal was ich versuche. Außer dass ich die Arduino IDE verwenden kann, um einen neuen Bootloader auf den Mini Pro zu brennen.

Ich habe auch die Status-LEDs angeschlossen (Pins 7, 8 und 9) und kann sehen, dass der Programmierer eine Fehlerbedingung (Pin 8) hat, wenn ich versuche, etwas anderes als den Bootloader zu programmieren.

Hier ist meine avrdude-Befehlszeile, in der ich versucht habe, die Sicherungen am Mini Pro einzustellen:

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

Ich bekomme folgendes von avrdude zurück:

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.

Ich hatte in der Vergangenheit keine Probleme damit, genau das gleiche Setup zu verwenden, aber mit einem ATmega328- oder ATtiny85-Chip auf einem Steckbrett mit avrdude. Ich weiß also nicht, was hier passiert.

Ich habe mir auch den ArduinoISP-Code angesehen und bin mir nicht sicher, was resp = 0x1c ist. Ich sehe keinen 0x1c-Wert, der im Abschnitt STK-Definitionen des Codes definiert ist, daher bin ich mir nicht sicher, was dies verursachen könnte.

Alle Hinweise hier wäre dankbar. Und ja, ich weiß, dass ich das Uno-Board mit dem gezogenen ATmega328-Chip auch als Programmierer verwenden kann. Aber ich möchte in der Lage sein, den Bootloader-Bereich mit meinem eigenen Code zu überschreiben, wie ich es mit einem normalen ATmega328-Chip kann.

Vielen Dank!

Antworten:


7

Nachdem ich ein bisschen mehr herumgestöbert habe, stellte sich heraus, dass mein Problem die Baudrate war. Ich könnte es zum Laufen bringen, indem ich es auf 19200 setze, nur etwas langsamer. Alternativ können Sie die ArduinoISP-Skizze ändern, um höhere Baudraten zu ermöglichen. Ich habe diesen Beitrag verwendet , um 115200 Baud zu aktivieren, und konnte avrdude erfolgreich mit höheren Raten verwenden.

Ich bin mir nicht sicher, wie ich das vorher verpasst habe, aber es ist zumindest leicht zu lösen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.