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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.