Ich habe mir ein USB ASP kompatibles PCB besorgt. Und ich benutze die Arduino Software. Im Menu lässt sich das Modul einstellen um z.B. den Bootloader auf ein Arduino zu programmieren.
Ich habe leider für den Programmer keine "vernünftige" Software/Treiber gefunden.
Ich habe mittlerweile die Treiber Installations-SW Zdac gefunden. In der Software gibt es 4 verschiedene "Treiber" auswählbar:
WinUSB V6..., libusb-win32 V1.2.6.0, libusbK V3.0.7.0 oder USB Serial CDC
Meine dringlichste Frage: Welcher Treiber wird von der Arduino GUI SW verwendet?
Ich finde hier nichts in den Hilfen.
Als Firmware finde ich nur die SW von Fichl.
Gibt es keine andere Firmware ?
Aufbau:
Ist die Firmware nicht schon beim Kauf drauf?
Ich habe meinen damals nur Plug&Play angesteckt und kann ihn Problemlos nutzen. Ich musste nichts von Hand installieren.
Ja, da ist eine Firmware drauf.
Doch die scheint nicht mit der Software zu funktionieren.
Da kommt z.B. Fehlermeldung mit SCK kann nicht gesetzt werden.
Ok, schon mal gut.
Ich habe jetzt den Parm. -F beim programmieren mit Bootloader gesetzt. Dann wird es nur noch zur Warning. Trotzdem noch unschön.
Nächstes Problem:
Beim programmieren des Bootloaders meint er falsche Signature beim Zielgerät.
Ist ein 168PA drauf. So wie es aussieht ist jedoch nur 168A codiert?
Das ist die Fehlermeldung, die jetzt noch kommt:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: Expected signature for ATmega32U4 is 1E 95 87
Fehler beim Brennen des Bootloaders.
Unter Arduino\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168.c finde ich kein 168PA. Der hat die Signatur 0x1E 0x94 0x0B
Ich möchte mein Nano-ähnliches Produkt mit Bootloader flashen. So wie es aussieht kann ich nicht mit ihm direkt kommunizieren, da kein Arduino bootloader drauf ist.
Ich habe die zusätzlichen Einträge in boards.txt gemacht. Das hat keine Änderung gebracht.
Ich denke der bootloader muss um die Signatur erweitert werden.
Und nochmal:
Keine neue boards.txt, sondern eine boards.local.txt
Ein einfacher Grund: So wird es in der Arduino Dokumentation für individuelle Board Erweiterungen/Anpassungen vorgeschlagen.
Und so macht es auch Sinn.
Ich zeige dir mal wie solche Meldungen bei mir aussehen:
(Upload eines einfachen Programms auf einen UNO)
Hallo combie,
in den Voreinstellungen gibt es eine Option "Ausführliche Ausgabe während: ... hochladen"
Wenn ich diese setze, dann bekomme ich zusätzliche Ausgaben, in deinen Worten unverstümmelt:
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -cusbasp -Pusb -F -e -Ulock:w:0x3F:m -Uefuse:w:0xF8:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xff:m
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega168P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 512 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 16384 128 128 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x6d3438
avrdude: Expected signature for ATmega168P is 1E 94 0B
avrdude done. Thank you.
Fehler beim Brennen des Bootloaders.
was mich wundert, dass er eine ganz fremde Device Signature ausgibt.
Wenn ich "Expected signature for ATmega168P is 1E 94 0B" durch Google Übersetzer übersetzen lasse, kommt das hier heraus: "Erwartete Signatur für ATmega168P ist 1E 94 0B"
Ob die Signatur nun für ein Micro oder Nano ist weiß ich nicht, jedenfalls habe ich Nano eingestellt und nie etwas anderes behauptet.
Hast du mir einen Link in die Dokumentation, wo das mit dem boards.local.txt steht?
Ich habe es nicht gefunden.
so ich habe jetzt boards.local.txt gemacht und das -F wieder raus genommen.
Bekomme nun folgende Meldungen:
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -cusbasp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xF8:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xff:m
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega168P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 512 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 16384 128 128 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, http://www.fischl.de/usbasp/
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Fehler beim Brennen des Bootloaders.
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Die Punkte von dir schließ ich soweit erstmal aus, weil:
Beide Module direkt an USB-Hub angeschlossen. Hub mit 5V Netzteil dediziert versorgt.
Verkabelung nochmal gecheckt.
Auf SCK des "Nano" hängt eine Led, die vor sich hin blinkt 1s, d.h. Nano kann kein Programming erkennen, weil Port auf Ausgang. Wie bringe ihn dazu in den Programming Mode zu gehen?
Stefan
ob mich "double check" weiterbringt?
Ich habe sck und rst angeschlossen
und Miso an Mosi und andersherum.
Ist das sicher ein Bootloader?
Und welcher Programmer ist beim Nano einzustellen?
Bei Boarddaten holen bekomme ich nur Board unbekannt.
und programmieren kann ich scheinbar auch nichts.