avrdude/ATmega32: Flash kann nicht gelesen werden

Gast #1239231
Wenn ich mit:

$avrdude -p ATmega32 -v -c AVRISPmkII -P usb -U flash:r:ORG_FLASH.hex:i

versuche, das Flash auszulesen, erhalte ich nur:

$ cat ORG_FLASH.hex
:00000001FF

obwohl der o.g. Befehl den avrdude einige Sekunden schaffen lässt und 
der am Ende diesen Output produziert:

avrdude: Device signature = 0x1e9502
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as CA
avrdude: reading flash memory:

Reading | ################################################## | 100% 
15.43s

avrdude: writing output file "ORG_FLASH.hex"

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as CA
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Ich kann auf die entsprechende Weise das EEPROM, die Fuses und die 
Lockbits

$ cat ORG_LOCK.hex
:010000003FC0
:00000001FF

auslesen, aber nicht das Flash.
Was könnte da los sein?
Gast
>auslesen, aber nicht das Flash.
>Was könnte da los sein?

Der Chip ist leer und enthält nur 0xFF.
Diese können beim Intel-Hex Format
weggelassen werden. Also bekommst
du nur diese eine Zeile die da bedeutet:
End of Hexfile.
Gast
Ja, so sieht es in der Tat aus.

Allerdings ist der Chip nicht leer gewesen.

Es handelte sich um eine AVR NET-IO im Originalzustand, die auch 
nachweislich funktionierte, hab's ja vorher ausprobiert.
Ich wollte einfach ein Backup von dem Inhalt machen, bevor ich was 
anderes reinflashe.

Umflashen konnte ich es auch. Ich habe jetzt den uWebSrv 
einprogrammiert, der nun auch funktioniert. Diesen kann ich wiederum 
auslesen mit:

avrdude -p ATmega32 -v -c AVRISPmkII -P usb -U flash:r:uWebSrv_org.hex:i

, also praktisch demselben Befehl wie oben, wobei die ausgelesene Datei 
in diesem Fall auch korrekt aussieht. Das Lock-Byte ist dasselbe wie 
vorhin.

Was war da bloß vorher los?
Gast
Selbst wenn ich's jetzt mit dem Dateinamen "ORG_FLASH.hex" von oben 
mache, funktioniert es nun (mit dem uWebSrv) auch.

Ich hatte übrigens (mit der Pollin-Software) einmal mit -vvvv ausgelesen 
und den Output geloggt, und tatsächlich wurden alle Bytes als FF 
gelesen.

Jedoch war ja, wie gesagt, was drin in dem Chip.

Verstehe immer nicht, was da los war. Ob das ein Bug von avrdude ist?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.