Forum: Compiler & IDEs EEPROM, lesen/schreiben geht nicht


von Mike Novy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

mit folgendem Code versuche ich, ein Byte an der ersten Stelle im
Eeprom meines Atmel-Controllers (AAT90S8515) zu speichern.
Wenn ich den Code neu compiliere und NUR die besagte Stelle auslese,
kommt 0 Inhalt zurück. Was läuft da falsch?

von Malte Marwedel (Gast)


Lesenswert?

Wo läuft dein Programm hin, nachdem es die Daten an PortD geschickt
hat?
Übrigrens die 1. EEProm Zelle besser nicht verwenden, die wird beim
Programmstart gerne mal überschrieben, was zumindest bei deinem
Testprogramm jedoch egal sein dürfte.

von Jörg Wunsch (Gast)


Lesenswert?

Nicht ganz, die erste EEPROM-Zelle kann überschrieben werden, wenn
während eines EEPROM-Schreibens ein Reset eintritt.  Wenn das nie
passiert (weil z. B. die Applikation selbst gar nicht im EEPROM
schreibt, sondern nur vom Programmierer hinterlegte Daten liest), ist
die erste Zelle nicht anders riskant als jede andere Zelle.

Allerdings geht allgemein die Einschätzung um, daß besonders die AVRs
der AT90-Serie anfällig gegen EEPROM-Korrumpierung sind, wenn sie
(auch read/only) in einen brown-out geraten.  Die aktuellen Chips sind
dem Vernehmen nach davon weniger betroffen, wobei mir nicht klar ist,
ob diese Aussage allgemein gilt oder nur dann, wenn man den
(verbesserten?) brown-out detector benutzt.

von Mike Novy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

das Programm bleibt in einer while-schleife hängen.
Anbei ein Versuch, das geschriebene im nächsten Kompilat auszulesen
(zuerst eine willkürliche Zelle, dann die zuvor beschriebene)... es
kommt immer nur 0 zurück.

Diesen Versuch habe ich nun auf einen Atmega16 durchgeführt. Was mach
ich nur falsch???

von Mike Novy (Gast)


Lesenswert?

Nachtrag:

...oder täusche ich mich da?
Wenn man den das Board aussschaltet (STK500), müssten die Daten
erhalten bleiben, oder etwa nicht?

von Mike Novy (Gast)


Lesenswert?

Ok, hat sich erledigt:

Ich hatte übersehen, beim Flashen im AVRStudio das Flag "Preserve
EEPROM memory...." einzuschalten. Ich Hirn ;-)

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.