Forum: Mikrocontroller und Digitale Elektronik eeprom lesen und schreiben geht nicht


von Rudolf (Gast)


Lesenswert?

Hallo,

versuche gerade mich in das EEPROM eines ATMEGA32 einzuarbeiten.
Dazu habe ich mir mit folgenden Befehl das EEPROM vom µC geladen:
avrdude -p atmega32 -c avrispmkII -P usb -U eeprom:r:eeprom_img.hex

danach ändere ich mit einen Hex-Editor die ersten paar bytes in "hallo
test eeprom" speichere diese File und lade sie mit den folgenden befehl
wieder in den µC
avrdude -p atmega32 -c avrispmkII -P usb -U eeprom:w:eeprom_img.hex

zum verivizieren wieder der 1. Befehl
avrdude -p atmega32 -c avrispmkII -P usb -U eeprom:r:eeprom_img.hex


wieder mit einen Hex-Editor geöffnet und siehe da der Text ist weg!?!?!

was mache ich also falsch?
warum ist der testtext weg?

die geladene eeprom-File fängt so an:
:20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
F00.
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
FE0.
:20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
FC0.
:20006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

von Karl H. (kbuchegg)


Lesenswert?

Wahrscheinlich ist es gar nicht programmiert worden.
Di emeisten AVR haben eine Fuse, EESAVE (oder so). Ist die gesetzt dann 
kann das EEPROM extern nicht beschrieben werden.
Das hat schon seinen Sinn, weil man ja normalerweise im EEPROM seine 
Konfigurationsdaten liegen hat, die man nicht bei jedem Neubrennen des 
Programms überschreiben will sondern die erhalten bleiben sollen.
Dann müsste man aber 2 verschiedene Programmier-'Werkzeuge' haben:
einmal nur das FLash brennen und EEPROM auslassen
und das andere mal beides beschreiben.

So ist es einfacher: Hat das EEPROM erst mal seine Werte, dann wird die 
EESAVE Fuse gesetzt und dann kann der Programmer zu schreiben versuchen 
was er will, das EEPROM wird nicht verändert.

Ausserdem beschreibt man das EEPROM ja meistens sowieso aus dem Programm 
heraus. Und da wirkt dann die EESAVE Fuse natürlich nicht.

von Michael S. (schiko)


Lesenswert?

Wenn's nicht die Fuse ist,
hast Du auch die Checksumme bedacht?
Das war auch mal mein erster Stolperstein beim externen Schreiben
des Eeprom.

http://de.wikipedia.org/wiki/Intel_HEX#Berechnung_der_Pr.C3.BCfsumme

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.