Forum: Mikrocontroller und Digitale Elektronik avrdude und usbasp: error: wrong reading bytes b8


von Gerald D. (gda)


Lesenswert?

Hallo,

nachdem ich meine ersten Erfahrungen mit dem Atmega mit einem 
Evaluations-Board von Pollin gemacht habe, habe ich mir nun einen
USBasp-Programmer und ein Atmega128-Modul besorgt. Ich habe damit aber
ein paar Probleme.
Ich benutze avrdude unter Linux. Der USBasp ist USB-Powered, das
Atmega-Modul auch, es wird nur über den ISP versorgt. Es ist sonst 
nichts
angeschlossen.
Das erste Problem ist, dass der Atmega manchmal nicht richtig erkannt 
wird:
1
avrdude: Device signature = 0x000102
2
avrdude: Expected signature for ATMEGA128 is 1E 97 02
Wenn ich am Programmer den Dip-Switch auf "Slow SCK" setze, dann tritt
das Problem nicht mehr auf.
Ich habe bis jetzt nur die Fuses für den externen Quarz gesetzt und
Atmega103 Kompatibilitäts-Modus ausgeschaltet. Ich habe noch nichts ins
Flash geschrieben.
Ich habe testweise versucht das Flash auszulesen, auch wenn noch nichts
vernünftiges drinsteht. Dabei bekomme ich die Fehlermeldung im Betreff:
1
avrdude: error: wrong reading bytes b8
und zwar ohne "Slow SCK" sehr früh und mit der Einstellung sehr spät, 
danach bleibt dann auch die rote LED an.
Man dauert das immer lange.
Ich habe herausgefunden, dass die Fehlermeldung von avrdude in der 
Funktion usbasp_paged_load ausgegeben wird, wenn der Aufruf von 
usbasp_transmit nicht die richtige Anzahl von Bytes übertragen hat.
Interessant ist, dass die Zahl immer 0xb8 also 184 ist.
Das Problem tritt sowohl mit avrdude 5.4 als auch mit der Version 5.5 
auf.
Die Version der Firmware des USBasp kenne ich leider nicht, kann man die 
irgendwie abfragen. Ich wollte Geld sparen und habe mir den USBasp in 
Thailand bestellt, bitte nicht gleich hauen.
Die Geschichte ist zwar schon irre lang geworden, aber ich fasse 
trotzdem
noch mal zusammen. Es scheint grundsätzlich alles zu funktionieren, aber
es ist sehr instabil.
Wie kann ich das Problem eingrenzen? Was kann ich tun?

Gerald

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


Lesenswert?

Die falschen signature bytes sind eindeutig Übertaktung.

Ansonsten würde ich dir empfehlen, dich auf die avrdude-dev Liste
(at nongnu.org) einzutragen, dort liest auch Thomas Fischl mit und
repariert für gewöhnlich die aufgetretenen Bugs mit seinen Teilen
auch.

von Gerald D. (gda)


Lesenswert?

Danke für die schnelle Antwort.

Jörg Wunsch wrote:
> Die falschen signature bytes sind eindeutig Übertaktung.

Was wird übertaktet, vermutlich das Target, doch nicht der Programmer,
oder? Der Atmega128 läuft auf 16MHz und CKOPT habe ich gesetzt.

> Ansonsten würde ich dir empfehlen, dich auf die avrdude-dev Liste
> (at nongnu.org) einzutragen, dort liest auch Thomas Fischl mit und
> repariert für gewöhnlich die aufgetretenen Bugs mit seinen Teilen
> auch.

Gut, ich werde meine Frage dort nochmal posten.

Gerald

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


Lesenswert?

Gerald Dachs wrote:

> Was wird übertaktet, vermutlich das Target, doch nicht der Programmer,
> oder? Der Atmega128 läuft auf 16MHz und CKOPT habe ich gesetzt.

Ja, das Target.  Für 16 MHz allerdings verwunderlich, da ich nicht
annehme, dass das USBasp wirklich 4 MHz SPI-Takt erreicht.

von Gerald D. (gda)


Lesenswert?

Nur für den Fall das mal jemand über diesen Thread stolpert.
Ich konnte mein Problem lösen mit einer älteren Firmware vom
29.12.2006. Alle jüngeren Versionen waren instabil, je jünger
desto schlimmer.

Gerald

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.