Forum: Mikrocontroller und Digitale Elektronik avrdude: error: programm enable: target doesn't answer. 1


von Daniel H (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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?

von Hannes L. (hannes)


Lesenswert?

Nach einigen frustrierenden Experimenten mit einem China-Billig-USBASP 
aus der Bucht hat mir ein Freund und Leidensgenosse diese Software 
empfohlen:

http://98.139.168.220/babelfish/translate_url_content?.intl=de&lp=zh_en&trurl=http%3a%2f%2fwww.zhifengsoft.com%2ffiles%2fprogisp172.rar

Ist zwar etwas gewöhnungsbedürftig, tut es aber. Man könnte fast meinen, 
dass China-Produkte China-Software brauchen würden... ;-)

...

von Daniel H. (daniel_h97)


Lesenswert?

Danke.. abere es kommt dauert der fehler:

Chip Enable Program error..

Muss ich unter CONFIG etwas umstellen?

von Daniel H. (daniel_h97)


Lesenswert?

PS: aber die L Led blinkt beim übertragen.. war vorher nicht so..

von Hannes L. (hannes)


Lesenswert?

Daniel H. schrieb:
> Muss ich unter CONFIG etwas umstellen?

Vermutlich nicht, ich musste aber das ISP-Tempo drosseln.

...

von Daniel H. (daniel_h97)


Lesenswert?

Und wie drosseln?

Mit Jumper geht es drotzdem nicht..

Am arduino(ATmega328) brauche ich eh nichts jumpern.. oder so.. oder?

von Hannes L. (hannes)


Angehängte Dateien:

Lesenswert?

Daniel H. schrieb:
> Und wie drosseln?

Mit dem riesengroßen unüBÄRsehbaren SchieBÄRegler da links...

...

von Daniel H. (daniel_h97)


Lesenswert?

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...

von Hannes L. (hannes)


Lesenswert?

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.

...

von Hannes L. (hannes)


Lesenswert?

Daniel H. schrieb:
> Theoriestunden in der Fahrschule

Puhhh, das ist nun auch schon wieder über 45 Jahre her...

...

von Daniel H. (daniel_h97)


Lesenswert?

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..

von Daniel H. (daniel_h97)


Lesenswert?

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 :)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hannes Lux schrieb:
> Avrdude (zu gewöhnungsbedürftig, ein
> Auslesen der Signature löscht den Chip...)

Was auch immer du da falsch machst ...

von Hannes L. (hannes)


Lesenswert?

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...

...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Christian D. (christian_d) Flattr this


Lesenswert?

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

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.