Gast
#3173304
hallo, nach einem Neustart des stm32f10x soll der Ram bereich nicht gelöscht werden, damit die variablen nicht ihren wert verlieren, was mus ich hierfür ändern, einstellen?
|
Anzeige
|
stm32f10x - RAM nicht löschen
Gast
#3173304
hallo, nach einem Neustart des stm32f10x soll der Ram bereich nicht gelöscht werden, damit die variablen nicht ihren wert verlieren, was mus ich hierfür ändern, einstellen?
Gast
#3173308
Dein Konzept. Wozu soll das gut sein?
Gast
#3173317
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 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
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
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. Schau Dir mal die "Backup registers" an.
Gast
#3173487
Matthias Larisch schrieb: > 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. und wie mach ich das?
Gast
#3173571
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.
Gast
#3173670
Welche Toolchain?
Gast
#3173687
ok danke, bei einem PIC geht des halt das die Variablen nach nem Reset ihren wert behalten, schade das es hier nicht geht. was meinst du mit toolchain? entwicklungsumgebung? Keil µVision 4 Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|