Hallo,
Wenn ich versuche auf meinem ATmega328 bzw Arduino UNO einen Bootloader
zu "brennen", (über USBasp)
dann komme diese Fehlermeldungen:
avrdude: warning: cannot set sck period. please check for usbasp
firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
Ich habe es jetzt schon mit der Arduino Software versucht die seit 1.0
den USBasp unterstützt, und auch direkt mit avrdude:
avrdude -p m328p -c usbasp -P usb -B 10 -U
flash:w:optiboot_atmega328.hex
Der langsam-Jumper bringt auch nichts..
Kann man dann annehmen dass der stick kaputt ist?
Bzw. muss ich kein schlechtes Gewissen haben, wenn ich eine negative
E-bay bewertung hergebe?
mfg Daniel H.
Daniel H schrieb:> Kann man dann annehmen dass der stick kaputt ist?
Nein, es kann genauso gut deine Verkabelung kaputt sein. Zumindest
solltest du mal einen Oszi dranklemmen um zu gucken, ob da "was
wackelt".
Ich weiß nicht, wie USBasp sich verhält, wenn man MISO und MOSI
einfach mal verbindet (ohne AVR am Ende natürlich), sodass er sein
eigenes Echo sieht. Eventuell sagt er dann ja was anderes?
Auch wenn ich auf ganz langsam schiebe, geht es nicht :(
Du hast aber schon auch den driver von diesem Ordner genommen.. und
nicht den von http://www.fischl.de/usbasp/ oder?
PS: Ich kann jetzt ein paar Stunden nicht mehr antworten weil ich jetzt
wieder Theoriestunden in der Fahrschule habe...
Daniel H. schrieb:> Du hast aber schon auch den driver von diesem Ordner genommen.. und> nicht den von http://www.fischl.de/usbasp/ oder?
Frag' mich nicht sowas, der Fischl-Treiber war sicherlich schon
installiert, weil ich zuvor ja Avrdude (zu gewöhnungsbedürftig, ein
Auslesen der Signature löscht den Chip...) und Extreme-Buerner
(funktioniert zwar, ist mir persönlich aber zu kasperig) und auch das
Zeugs von Ullihome (funktionierte auch nicht) ausprobiert hatte.
Progisp172 habe ich nur entpackt und beim ersten Aufruf funktionierte es
nach Herabsetzen es ISP-Tempos auf Anhieb (ohne Installation). Klar,
etwas kasperig ist es auch, aber es zeigt wenigstens die Fuses halbwegs
vernünftig an, nicht nur als ganze Bytes. Ob ich bei Progisp bleibe,
weiß ich noch nicht, mal sehen ob mir noch was Besseres übern Weg läuft.
Den USBASP will ich ja nur für unterwegs einsetzen, zu Hause nutze ich
STK500, Dragon und AVR-Studio4. Das funktioniert bestens, ist aber nicht
so reisefreundlich.
...
Bei mir kommt immer dieser Fehler..
Habe jetzts schon alle möglichen Treiber versucht,
Diese Programme:
Arduino,
AVR Burn-O-Mat,
avrdude,
eXtreme Burner,
progisp
also habe die letzen 2 Tage nur mit diesem Stick verschwendet..
Ich habe bereis Kontakt zum Verkäufer aufgenommen.. und der will die
Fehlermeldungen, und die werde ich ihm jetzt schriben.. und hoffen, dass
der eine gute Lösung hat..
schäm
Die Pins für ICSP gehen irgendwie nicht.. aber wenn ich die Pins fom
kabel direkt mit der Stiftleiste vom Arduino verbinde, dann geht es :)
Danke euch trotzdem für die Hilfsbereitschaft :)
Jörg Wunsch schrieb:> Was auch immer du da falsch machst ...
Ja sicher habe ich da was falsch gemacht, das Kommando für das Auslesen
der Signature ausgeführt und dabei das Komando zum Unterdrücken des
Chip-Erase vergessen. Das ist aber alles kein Problem, mit dem Kommando
zum Flashen war das Programm wieder drauf. Und außerdem gibt es ja noch
das STK500 und den Dragon mit einer unmissverständlichen
Benutzeroberfläche (AVR-Studio). Den USBASP wollte ich eigentlich für
unterwegs haben und zum preiswerten Flashen für Leute, denen ich
gelegentlich mal ein Programm schreibe.
Wenn ich aber keine Windoof-oBÄRfläche finde, die mir zusagt, dann
schreibe ich mir eben mit QBASIC oder VB6 eine Shell, die AVRDUDE
aufruft...
Gruß 250 km elbaufwärts...
...
Hannes Lux schrieb:> Ja sicher habe ich da was falsch gemacht, das Kommando für das Auslesen> der Signature ausgeführt und dabei das Komando zum Unterdrücken des> Chip-Erase vergessen.
Nein, das ist Quark.
Ein Chip-Erase wird implizit nur dann eingefügt, wenn eine Option
ein Schreiben auf den Flash verlangt. Alle Leseoperationen
bewirken nichts dergleichen.
Daher schrieb ich "was auch immer du da falsch machst". Vom reinen
Lesen irgendeines Speicherbereichs wird da kein Chip gelöscht (und
ein Lesen der Signatur erfolgt ohnehin implizit immer ganz am Anfang).
> dann> schreibe ich mir eben mit QBASIC oder VB6 eine Shell, die AVRDUDE> aufruft...
Damit wärst du dann wohl so ungefähr der 230., der sowas macht. Alle
gleichermaßen schlecht bedienbar, weshalb es ja nach dem 229. immer
noch einen 230. gibt. ;-)
Ich habe es schon x-mal angeboten: ich habe AVRDUDE vor einiger Zeit
dahingehend umgebaut, dass das Backend (die eigentliche
Funktionalität) weitgehend vom Frontend (dem derzeitigen CLI)
separiert worden ist und als Bibliothek gebaut wird. Das ist derzeit
sicher noch ein wenig halbherzig (es gibt immer noch Backend-
Funktionen, die z. B. beim Missfallen eines Zustands gleich mal mit
exit(1) um sich werfen), und derzeit ist es auch nur eine statische
Bibliothek, da mir ohnehin nur ein Frontend als Konsument bekannt ist.
Wenn aber jemand ernsthaft ein vernünftiges GUI für AVRDUDE haben will
(ich brauch's nicht, mein Leidensdruck ist also zu gering), dann
sollte er endlich ein zweites Frontend dafür bauen. Sowie damit
jemand ernsthafte Fortschritte erzielt hat, würde ich mich auch
hinsetzen, und die letzten Krücken (wie die bereits genannten direkten
Aufrufe von exit()) aus der Bibliothek aufzuräumen, und wenn Bedarf
besteht, würde ich auch eine dynamische Bibliothek bauen und
installieren lassen (damit ist man dann nicht mehr zwingend an C als
Programmiersprache für das Frontend gebunden).
Wenn das GUI-Frontend multiplattformfähig (Unix [Linux, *BSD,
Solaris], Windows, MacOS X) ist, dann darf es auch mit ins
AVRDUDE-SVN. Wenn nicht, dann müsste es jemand separat pflegen.
hi
ich hab hier den gleichen Stick ;) Jeglicher versuch mit avrdude endete
im
avrdude: error: programm enable: target doesn't answer. 1
Die rote LED auf den Stick hat immer kurz aufgeleuchtet. Jetzt hab ich
den Treiber aus diesem Paket verwendet
http://98.139.168.220/babelfish/translate_url_content?.intl=de&lp=zh_en&trurl=http%3a%2f%2fwww.zhifengsoft.com%2ffiles%2fprogisp172.rar
+ das Programm progisp. Dort endet jeglicher Versuch in "Chip Enable
Programm Error" aber die rote LED leuchtet glaub ich ein bisschen
länger. Am Geschwindigkeitsregler spielen brachte keinen unterschied.
Einen Jumper für langsame Programmierung ist bei mir am Stick allerdings
nicht vorhanden.
Ich versuche einen Mega8 in der absoluten Standartbeschaltung zu
programmieren es sieht bei mir genau so aus:
http://www.rn-wissen.de/index.php/Bild:Avrtutorial_grundschaltung_mitisp.gif
nur eben die Microcontrollereingänge angepasst auf den mega8 nach diesem
Datenblatt:
http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf
das ganze ist auf einem Steckbrett aufgebaut. Dabei macht es keinen
unterschied ob ich die Schaltung per Programmer Versorge oder extern 5V
dran hänge.
Leider hab ich kein Oszi um zu gucken "ob an den Pins was wackelt"
jemand ne idee was ich noch probieren könnte? OS ist Windows 7 64Bit.
P.S. ich weiss wer billig kauft, kauft 2x ;) Aber die 5€ waren es mir
wert es zu probieren und vielleicht klappt es ja doch
mfg
Chris
Christian D. schrieb:> P.S. ich weiss wer billig kauft, kauft 2x ;) Aber die 5€ waren es mir> wert es zu probieren und vielleicht klappt es ja doch
Auch mich haben die gut 5 Euro gelockt. Inzwischen läuft alles!
Der Schlüssel liegt in der Fehlermeldung, die ganz zu Anfang dieses
Threads gepostet wurde:
1
avrdude: warning: cannot set sck period. please check for usbasp
2
firmware update.
Auf der Unterseite der Platine steht das Datum 2011-05-21, die neueste
verfügbare Firmware stammt aber von 2011-05-28:
http://www.fischl.de/usbasp/
Direktlink: http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
Name der Firmware-Datei: bin/firmware/usbasp.atmega8.2011-05-28.hex
Wichtig: Für ein Firmware-Update braucht man einen zweiten Programmer,
weil sich der USBasp nicht selbst updaten kann. Zusätzlich muss beim
upzudatenden USBasp der Jumper JP2 gesteckt werden. Leider ist dieser
Jumper auf dem Billig-Teil nicht klar zu erkennen, aber das ist nicht
weiter schlimm, denn im Grunde muss man nur den Reset-Pin des ATmega8
mit der Reset-Leitung der 10-poligen Buchse verbinden. Der Reset-Pin ist
der Pin 29 am TQFP-Gehäuse (siehe Datenblatt des ATmega8). Nach dem
Programmieren diese Verbindung wieder trennen.
Noch ein Tipp für Linux-User:
Im Ordner des downgeloadeten Treibers gibt es auch einen Ordner
"linux-nonroot". Dort "install_rule" ausführen. Ab dem nächsten Anmelden
werden keine Root-Rechte für den Zugriff auf den Programmer benötigt.
Viel Spaß!
Markus