Variablen im Flash speichern

Gast #2340182
Lesenswert?

Morgähn,
habe eine grundsätzliche Frage.
Ich möchte mehrere Variablen (Zustände) im Flash speichern um den uC 
nach einem Stromausfall wieder in den letzten Zustand zu versetzten.
Die Variablen kann man mit einem Struct hintereinander im Speicher 
anordnen.
Aber wie stellt man sicher, dass beim Start auch auf das Element 
zugegriffen wird?
Muss man irgendwo einen Pointer abspeichern der auf das Struct verweist? 
Wenn man vorher den Speicher mit malloc() allokiert und das Struct dort 
"anordnet", wird ein Struct ja nicht immer an der selben Stelle 
abgelegt, oder?

Grüße
Gast #2340190
Lesenswert?

Für sowas würde ich eher EEPROM empfehlen.
Die meinsten uCs können ihren Flash nur seitenweise (page) beschreiben, 
der EEPROM kann byteweise adressiert werden.
Übrigends lohnt sich 'malloc' bzw. generell dynamische 
Speicherverwaltung auf einem meistens nicht, da vie zu wenig RAM.
:-)
Gast #2340199
Lesenswert?

Floh schrieb:
> Für sowas würde ich eher EEPROM empfehlen.
> Die meinsten uCs können ihren Flash nur seitenweise (page) beschreiben,
> der EEPROM kann byteweise adressiert werden.
> Übrigends lohnt sich 'malloc' bzw. generell dynamische
> Speicherverwaltung auf einem meistens nicht, da vie zu wenig RAM.

Vielen Dank Floh,
das mit dem Flash ist mir klar.
Ich habe aber soviel Daten, dass eine Page zu etwa 90% ausgefüllt wird.

Also soll ich keine dynamische Speicherverwaltung verwenden?
Dann muss ich mir wohl eine feste Stelle im Speicher aussuchen.
Somit hat sich auch das Problem mit dem Pointer auf das Struct erledigt! 
;)

Beste Grüße

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren