Arduino Nano als ISP-Programmer - Bin ich zu doof?

Hallo,

ich habe zwar einen USBASP (Clone), doch der hat offenbar ausgedient. Ein neuer ist bestellt, doch in meinen Schachteln liegen noch gut ein Dutzend Nanos (klar, auch Clone)

Ich habe also einen mit dem in den Beispielen vorhandenen Sketch Arduino-ISP "geladen" und auf dem Steckbrett verkabelt.
RST an D10
MOSI an D11
MISO an D12
SCK an D13
Ub und GND natürlich auch
So hatte ich das aus dem Sketch rausgelesen.

Dann den Blinksketch aus den Beispielen über das ISP-kabel in einen 2. Nano mit der Funktion: "Hochladen über Programmer" geladen, das scheint zu funktionieren. Irritiert hatte mich allerdings, dass nun die L-LEDs auf beiden Boards blinken. Die sind ja nun beide über die D13-Leitung (SCK) parallel, also wohl normal.

Nun also mit avrdude versucht den ans ISP angeschlossenen alten USBAVR-Clon auszulesen (ja, sein Jumper steht auf Selbstprogrammierung).
Als Erstes in das Verzeichnis mit dem Avrdude (nebst seiner .conf) gewechselt und dann:

D:\Dude>avrdude -c AVRISP -p m8 -P COM11 -b 19200 -t

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x006d00
avrdude: Expected signature for ATmega8 is 1E 93 07
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.


D:\Dude>avrdude -c AVRISP -p m8 -P COM11 -b 19200 -t

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x000021
avrdude: Expected signature for ATmega8 is 1E 93 07
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

Bei jedem Aufruf wird eine andere Signatur gelesen, was kann das sein.
Da ich mit dem Avrdude noch etwas fremdle, habe ich mich an ein YT-Video gehalten, wo dieser Avrdude sehr ausführlich und vor allem auf Deutsch behandelt wird. Mein Setup ist (bis auf Nano statt UNO) exakt das gleiche.
Die Verkabelung habe ich mehrfach gecheckt, es sind auch nur kurze Verbndungen gesetzt.

Danach mit dem gleichen Setup einen Nano ans ISP gesteckt und natürlich mit -p m328P einen anderen Prozessor eingestellt. Dann als Härtetest auch gleich mit ...

D:\Dude>avrdude -c AVRISP -p m328p -P COM11 -b 19200 -U flash:r:Testflash.bin:r

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading flash memory:

Reading | ################################################## | 100% 31.22s

avrdude: writing output file "Testflash.bin"

avrdude: safemode: Fuses OK (E:FD, H:DA, L:FF)

avrdude done.  Thank you.

.... den Flash ausgelesen, das klappt perfekt. Allerdings nur einmal! Bei einem 2 Aufruf findet er offenbar den Programmer nicht mehr, Fehlermeldung:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03
^C
D:\Dude>

Verstehe ich irgendwie nicht.

Avrdude ist die Version, die mit der Arduino-IDE geliefert wurde, nur die beiden Dateien an einen kürzeren Verzeichnisort kopiert.

Old-Papa

Der Reset deines "Arduino as ISP" muss unterbunden werden.

Die Doku empfiehlt einen 10µF Elko

combie:
Der Reset deines "Arduino as ISP" muss unterbunden werden.

Die Doku empfiehlt einen 10µF Elko

10µF gegen Masse?

Ok, dass sollte nicht das Problem sein :wink:

Komisch, als ich diesen gesteckt habe (der Arduino war leider noch unter Strom), hat der ISP-Nano plötzlich wieder seinen Blinksketch aktiviert. Ich dachte der wäre von der ISP Software überschrieben.

Immer wieder was neues.... :wink:

Old-Papa

Ich dachte der wäre von der ISP Software überschrieben.

Ein Arduino wechselt nicht zurück auf ein altes Programm.

Du hast was falsch gemacht/Verstanden.
Z.B. hältst das Bootloader Blinken für Blink.ino

old-papa:
Dann den Blinksketch aus den Beispielen über das ISP-kabel in einen 2. Nano mit der Funktion: "Hochladen über Programmer" geladen, das scheint zu funktionieren.

old-papa:
... hat der ISP-Nano plötzlich wieder seinen Blinksketch aktiviert.

Du wolltest den Blinksketch auf den zweiten Nano laden, wegen des fehlenden Kondensators ist er aber tatsächlich auf dem ISP-Nano gelandet.

agmue:
Du wolltest den Blinksketch auf den zweiten Nano laden, wegen des fehlenden Kondensators ist er aber tatsächlich auf dem ISP-Nano gelandet.

Nein, mein Irrtum!
Ich hatte inzwischen als Target wieder einen blinkenden Nano dran, dann blinkt die LED auf dem ISP-Nano halt mit. Beide liegen ja über D13 parallel.

Old-Papa

Auch möglich. Aber Hauptsache ist, es geht jetzt :slight_smile:

Was mir nicht so richtig klar ist, warum Du einen Nano auf diese Weise mit einem Programm versorgst. Daher nur zur Sicherheit: Auch einen Nano kann man wie einen UNO mittels Bootloader mit einem Programm bespielen. Also Nano an USB anschließen, in der IDE Nano (vermutlich Old bootloader) und Port auswählen und dann Programm kompilieren und übertragen.

Ja, das ist mir auch klar.

Es geht um generelles ISP-Lesen/-Schreiben. Auch an "Nichtarduino-Schaltungen"
Ich habe einen älteren (ca. 5 Jahre) USBASP-Clon, der mit Avrdude nicht so richtig will. Heute den von meinem Sohn bekommen, der ist funkelnagelneu, macht aber auch Ärger.
Die kleine Schaltung mit dem Nano funktioniert dagegen (bis jetzt und mit dem Elko) einwandfrei.

Und Ja, das Blinken war wirklich durch die Parallelschaltung der D13-Leitungen. Dort ist ja die "L-LED" angeklöppelt. Zumindest eine optische Falle :wink:

Old-Papa

old-papa:
Dort ist ja die "L-LED" angeklöppelt. Zumindest eine optische Falle :wink:

Wohl wahr, aber diese Boards sind halt immer ein Kompromiß.