stm32f10x - RAM nicht löschen

Gast #3173317
Lesenswert?

der stm32 ist batteriegepuffert und hat einige variablen. fällt die 
hauptversorgung mal aus dann sollen die variablen nicht verloren gehen. 
es sind variable die sich schnell ändern, also ein eeprom scheidet aus
Persönliche Seite #3173333
Lesenswert?

Falscher Lösungsansatz scheint mir.

schau mal unter
http://www.mikrocontroller.net/articles/Speicher#EEPROM_Schreibzugriffe_minimieren

Kernaussage hier:
[codeSinnvollerweise schreibt man Daten nur direkt ins EEPROM, wenn man 
sicher ist, dass dies nur selten vorkommt. Anderenfalls speichert man 
die Daten im RAM und kopiert sie erst in den EEPROM, wenn die 
Versorgungsspannung ausfällt. [/code]
Gast #3173358
Lesenswert?

aber das RAM ist doch über die batterie gepuffert, also müssten die 
daten doch vorhanden sein. ich will nur das wenn die main Funktion neu 
gestartet wird die variablen nicht 0 werden, dies kann ja auch z.b. beim 
debuggen durch den RESET erfolgen.
Gast #3173436
Lesenswert?

Dann musst du die Variablen in ne eigene Section machen, welche in 
deinem initcode nicht initialisiert wird. Zusätzlich musst du erkennen 
können, wenn der Bereich wirklich uninitialisiert ist, also Müll 
enthält, und dann entsprechend initialisieren.
Gast #3173571
Lesenswert?

Mit sections funktioniert m.W. nur im Flash; das RAM ist nach einem 
Reset undefiniert. Die Cortexe haben aber einen Bereich, in dem wenige 
byte gepuffert werden (sofern Batterie dran). Wurde ja ebenso schon 
genannt.

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