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
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. :-)
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
Ein neuer schrieb: > Also soll ich keine dynamische Speicherverwaltung verwenden? Wozu? Der physikalische Speicher muß sowieso vorhanden sein und wird in dem Fall wohl auch kaum alternativ für andere (dynamische) Variablen benötigt, oder?
... schrieb: > Wozu? Der physikalische Speicher muß sowieso vorhanden sein und wird in > dem Fall wohl auch kaum alternativ für andere (dynamische) Variablen > benötigt, oder? Jaja, ist ja logisch! Habe das Eval board: STM3210C-EVAL
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.