Forum: Mikrocontroller und Digitale Elektronik USBasp AVRDude Problem


von antonius (Gast)


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

von Mmh (Gast)


Lesenswert?

> Double check connections and try again

Betonung liegt auf double

von antonius (Gast)


Lesenswert?

Ja, habe es sogar schon 10 mal gecheckt. Die müsste schon stimmen

von Paul B. (paul_baumann)


Lesenswert?

antonius schrieb:
> Ja, habe es sogar schon 10 mal gecheckt. Die müsste schon stimmen
>> Double check connections and try again
Ja, dann trye es again.
;)
MfG Paul

von Philipp K. (philipp_k59)


Lesenswert?

Bei manchen Usbasp Programmern muss man ein -B60 anfügen, bzw mal nen 
Quarz versuchen.

Anderen uc ausprobieren oder einfach nochmal neu verkabelt anstatt zu 
checken.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Philipp K. schrieb:
> Anderen uc ausprobieren oder

... vielleicht mal den Schaltplan und Aufbau zeigen.

von Ralph S. (jjflash)


Angehängte Dateien:

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.

von Olaf B. (Firma: OBUP) (obrecht)


Lesenswert?

Hallo antonius,

beim USBasp haben mir diese 2 Web-Sites geholfen:
  + http://www.fischl.de/usbasp/ << Original mit CAD
  + https://www.das-labor.org/w//Usbasp << Ugrade FW USBasp

mfg

Olaf

P.S.: bin umgeschwenkt auf Diamex All-AVR AVR-Programmer, bietet mehr 
Funktionalität - kostet aber auch ein bißchen mehr!

von Philipp K. (philipp_k59)


Lesenswert?

Also ich weiß garnicht was alle mit den FWs haben..  Ich habe alte, 
neue, billige für nen €,Teure,aus China sowie Deutschland und musste 
noch nie die Firmware für Funktion flashen.

Alle Attiny85 oder Atmega88 basiert

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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 …

: Bearbeitet durch Moderator
von Stefan F. (Gast)


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.

von Einer K. (Gast)


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.

von Stefan F. (Gast)


Lesenswert?

> Entweder neue Firmware drauf spielen

Nein, die neueste Firmware (aus chinesischer Sicht) findet die Taktrate 
automatisch heraus. Um die Warnung loszuwerden müsstest du eine ältere 
Firmware installieren - aber dadurch wird nichts besser.

von Einer K. (Gast)


Lesenswert?

Stefan U. schrieb:
> Um die Warnung loszuwerden müsstest du eine ältere
> Firmware installieren

Eine neuere!
Welche auf die Ansage von AVRDude reagiert.

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


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

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.