mikrocontroller.net

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


Autor: Gerald Dachs (gda)
Datum:

Bewertung
0 lesenswert
nicht 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:
avrdude: Device signature = 0x000102
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:
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gerald Dachs (gda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gerald Dachs (gda)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.