USBasp AVRDude Problem

Gast #4755269
Lesenswert?

Guten Abend,

Ich habe mir ein China USBasp Programmer gekauft.
Habe jetzt alle Pins angesteck und die Betriebsled leuchtet, doch wenn 
ich ein Programm auf meinen Atmega328p bringen will bekomme ich 
andauernd diese avrdude Fehlermeldung:

avrdude.exe: warning: cannot set sck period. please check for usbasp 
firmware update.
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to 
override
             this check.

Ich habe mich in deutschen und englischen Foren umgeschaut und aber auch 
die änderung der Taktfrequenz ändert nichts.

Ich habe den Verdacht, dass der Programmer älter ist als die 
usbasp-Firmware vom Jahre 2011. Ich habe auch versucht diese zu löschen 
aber sobald ich den Treiber deinstalleiren und den Programmer erneut 
einstecke lädt sie sich wieder automatisch. Hat einer einen Plan wie ich 
die Firmeware downgraden kann?


Kann es wirklich, dass sein oder liegt es an etwas anderem?


DANKE
#4755790
Lesenswert?

antonius schrieb:
> avrdude.exe: warning: cannot set sck period. please check for usbasp
> firmware update.

... das machen die China-Clones alle (die haben ihre "eigene" Version 
der Firmware, vor allen Dingen sind die mit einer Version versehen, die 
auch AT89S52 flashen können - also keine AVRs sind - ).

Prinzipiell ist das allerdings für AVRDUDE nicht das Problem, eher, dass 
ein brandneuer (und noch ungefuster) AVR langsam getaktet ist (die 
meisten laufen mit einem 1 MHz Takt bei Fabrikauslieferung).

Wie oben bereits erwähnt wurde ist es sinnvoll, einen Parameter -B 10 
oder -B 20 mit anzugeben.

Um einen USBasp neu zu flashen bedarf es eines weiteren Programmers und 
auf der Platine des USBasp muss eine 2 pol. Jumperreihe (JP2) 
nachbestückt werden, die den Reset des darauf enthaltenen ATmega8 mit 
dem ISP Interface verbindet!

Auf diese Jumperreihe ist dann ein Jumper zu stecken um die Firmware des 
China-Clones des USBasp neu aufzuspielen.

Ein Nachbestücken von JP3 (und ein aufgesteckter Jumper) reduziert den 
ISP Clock für brandneue Chips.
Angehängte Dateien:
Moderator Persönliche Seite #4755838
Lesenswert?

Ralph S. schrieb:
> Wie oben bereits erwähnt wurde ist es sinnvoll, einen Parameter -B 10
> oder -B 20 mit anzugeben.

Das hilft doch aber absolut nichts, wenn die Firmware nicht
gewillt ist, den entsprechenden Parameter überhaupt zu akzeptieren –
und genau das sagt die Warnung aus.

p.s.: Ich würde das Ding als defekt zurückgeben.  Das Feature zur
Modifikation der SCK-Periode ist im Jahr 2009 bei USBasp dazu
gekommen.  Das sollte sich auch bis China allmählich rumgesprochen
haben.

p.p.s.: OK, ich würde gar keinen erst aus China kaufen, weil man
das Ding natürlich schneller selbst gebaut hat, als die Lieferung
aus China hierher braucht. ;-)  Aber das ist was Anderes …
Gast #4757067
Lesenswert?

Soweit ich verstanden habe, gibt es drei Versionen von der Firmware, was 
die Taktrate angeht:

a) Bei jungfräulichen AVR's muss man einen Jumper auftecken.

b) Bei jungfräulichen AVR's muss man den Parameter -B verwenden (z.B. 
-B20). Der Jumper ist in diesem Fall nicht bestückt.

c) Der Programmer findet die ISP Taktfrequenz automatisch heraus. Der 
Jumper ist in diesem Fall nicht bestückt und avrdude gibt immer eine 
Warnung aus, dass er die Taktrate nicht beeinflussen kann.

Du siehst genau diese Warnung, also hast du die Variante c. Die darauf 
folgende Fehlermeldung deutet einen Schaltungsfehler an.

In seltenen Fällen hängt sich ein AVR so gründlich auf, dass er über den 
ISP Anschluss nicht mehr ansprechbar ist. Bei einigen AVR's kann man die 
Taktrate per Software extrem reduzieren (auf unter 128kHz) und damit 
kommt der USBASP in Variante b und c nicht klar.

In beiden Fällen hilft es, den Reset Pin mit GND anstatt mit dem 
Programmieradapter zu verbinden. Dann startet das Programm auf dem AVR 
nicht, so dass es das ISP Interface nicht stören kann.

Sollte das auch nicht gehen, hast du womöglich einen Kabelbruch. Du 
könntest LED's (mit 1k Ohm Widerstand) an die Signal-Leitungen (SCK, 
MISO, MOSI) anschließen um zu sehen, welche von denen "tot" ist.
Gast #4757076
Lesenswert?

Ich habe mich damals mit den USBasp voll in Unkosten gestürzt.

2 Stück, für zusammen 2 Euronen, incl. Flachband
Plus: 2 Adapter von 10 auf 6 Pol, für je 50 Cent.

Beide mit Jumper nachbestückt.

Bei einem die Firmware erneuert.

Jetzt habe ich einen, mit der alten Firmware, welchen ich per Jumper 
langsamer machen kann, und einen welcher auf den AVRdude -B Parameter 
reagiert.

Perfekt!
Beide tuns prächtig mit AVRdude zusammen.

antonius schrieb:
> warning: cannot set sck period. please check for usbasp
> firmware update.
Das ist eine Warnung, kein Error.
Man sollte sich die Meldung zu Herzen nehmen, aber sie ist dennoch kein 
KO Kriterium.

Entweder neue Firmware drauf spielen, oder den Speed Jumper bestücken.
Für fabrikneue AVR muss die Geschwindigkeit gedrosselt werden.
Moderator Persönliche Seite #4757220
Lesenswert?

Stefan U. schrieb:
> Nein, die neueste Firmware (aus chinesischer Sicht) findet die Taktrate
> automatisch heraus.

Naja, dann hätten sie zumindest den Befehl zum Setzen der Taktrate
als Dummy implementieren können, um die Warnung zu vermeiden (und
dann die real ermittelte SCK-Rate zurückgeben auf Anfrage).

Davon abgesehen, traue ich solchen Automatismen nicht übern Weg. ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren