Hallo,
habe folgendes Problem:
Ich möchte das EEPROM eines ATmega128 in verschiedene Segmente
aufteilen. Programmieren tue ich in C und benutze das AVRStudio in
Verbindung mit dem GCC.
Nun gibt es ja unter Project->Configuration Options->Memory Settings die
Möglichkeit, das EEPROM ganz einfach in Bereiche zu zerlegen. (die erste
Unsicherheit: Address (hex) verweist auf das Ende des Bereichs.
Richitg?)
Naja, dann noch fix die Bereiche einbinden:
#ifndef EEMEM
#define EEMEM _attribute_ ((section (".eeprom_usr")))
#endif
#ifndef BOOT_EE
#define BOOT_EE _attribute_ ((section (".eeprom_boot")))
#endif
..., die Variablen:
byte eetest_usr EEMEM;
byte eetest_spec BOOT_EE;
... und per "eeprom_write_byte(<adr>,<data>);" setzen,
aber Pustekuchen, es geht nicht. Die beiden Werte werden an unmittelbar
aufeinanderfolgenden Adressen gleich am Anfang des EEPROMS geschrieben
(wie mir das JTAG-mkII sagt.)
Hat jemand in der Hinsicht schon Erfahrungen gesammelt, die er
weitergeben würde?
VG Mue
Wozu der Aufwand mit der Segmentierung? Mit
>"eeprom_write_byte(<adr>,<data>);"
musste doch sowieso immer die Startadresse angeben.
Hier muss ich gestehen, dass es sich nicht um mein Projekt handelt und ich gerade das versuche herauszufinden. Es muss wohl eine Art Sicherheitseinrichtung vor unberechtigtem Auslesen des EEPROM-Inhaltes sein.
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.