mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik avrdude/ATmega32: Flash kann nicht gelesen werden


Autor: Wiki (Gast)
Datum:

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

Autor: holger (Gast)
Datum:

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

Autor: Wiki (Gast)
Datum:

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

Autor: Wiki (Gast)
Datum:

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

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.