Üblicherweise legst Du Dir einfach ein struct/union z.B.
"st_meineEinstellungen" an, in dem Du die Einstellungen ablegst die nach
dem Start wiederhergestellt werden sollen, so dass alle Deine
Einstellungen in einem zusammenhängenden (festen!!! nicht stack!!!)
Speicherbereich liegen.
Beim Systemstart liest Du dann die Daten immer aus dem EEPROM wieder in
dieses struct/union und +wupp+ sind Deine Einstellungen
wiederhergestellt.
Zum Abspeichern vor dem Ausschalten muss Dein System aber noch in der
Lage sein, der SW mitzuteilen, dass gleich der Saft weggeht, bzw. gerade
noch genug Zeit zum speichern im EEPROM bleibt.
Das Speichern selbst erledigst Du, indem Du dem EEPROM-Treiber/der
Hardware mitteilst, dass Du sizeof(meineEinstellungen) Bytes ab
RAM-Adresse *meineEinstellungen ins EEPROM ab Adresse 0x1234 schreiben
willst. Für den S12X-Kern gibt es da mit Sicherheit schon etwas
fertiges. Such mal nach s12x eeprom per google!
TIP: Hänge eine Prüfsumme an die Einstellungen an, die Du mit
speicherst. Immer wenn die Prüfsumme nach dem Laden aus dem EEPROM nicht
stimmt, belege die Einstellungen mit sinnvollen Default-Parametern.
Vertraue Parametern aus dem EEPROM nicht besonders (es sei denn, Du
legst sie nach 2aus3 ab) - sprich: mache bei allen Parametern aus dem
EEPROM plausibilitätskontrollen / wertebereich-checks. Hintergrund: Es
kann Dir je nach Gestaltung der Prüsumme passieren, dass die Summe
stimmt, aber die Daten trotzdem buggy sind.
Gruß,
C