Guten Tag, ich baue gerade eine kleine Home-Steuerung aka wireless-Wechselschaltung (STM32F103ZE) und hab das Problem, das die Einstellungen beim Reset wieder verloren gehen (wird per UART eingestellt). Wo muss ich die Konfiguration speichern, damit der Controller diese nach trennen der Spannungsversorgung behält. Klar im EEPROM, laut Application note kann man das auch virtuell vom ROM erstellen... Ich hab das Example und kann das auch probieren. ABER ich würde gerne die Parameter auf einer SD Karte schreiben (hab das KEIL Eval-Board mit SD) damit wenn man die Steuerung wechselt, so die Einstellungen nicht verliert. Ich hab ein kleinen C-Tool geschrieben mit dem ich die Einstellungen per UART an die Steuerung sende. Würde man im Falle der SD-Karte, die Einstellungen in eine Datei auf die SD-Karte schreiben? config.cfg oder sowas? Mir ist nicht ganz klar wie das in der Praxis gemacht wird. Welche der Varianten werden denn genutzt oder lieg komplett falsch? : 1) SD-Karte mit config datei. Controller liest bei neustart die config neu ein. 2) EEPROM / emuliertes EEPROM (auf SD-Karte?). Einstellungen werden per C-Tool dort in variablen geschrieben. 3) andere Möglichkeit? Viele Grüße Semi
Eine Konfigurations-Datei erfordert natürlich auch ein Filesystem, das musst du implementieren. Dann kannst du die Karte dafür auch in den PC stecken und die Datei bearbeiten, rauf oder runter kopieren, etc. Wenn auf die Karte sonst nichts soll und es dir reicht die Konfiguration wie gehabt per C-Tool auf den µC zu schreiben kannst du die Karte auch ganz stupide im Raw-Modus vom µC beschreiben lassen. Musst dir halt davor überlegen wie du die Konfiguration da ablegst. Karte in den PC tut dann halt nicht. Die Konfiguration muss immer der µC schreiben.
Man könnte auch die Daten ins EEPROM schreiben und via Kommando (taster, serielle Schnittstelle) die Daten aus einer Konfigdatei einer SD-Karte oder über ein festes Protokoll über die serielle Schnittstelle nur einmal laden. So brauchst du immer die SD Karte.
Dominik S. schrieb: > Wenn auf die Karte sonst nichts soll und es dir reicht die Konfiguration > wie gehabt per C-Tool auf den µC zu schreiben kannst du die Karte auch > ganz stupide im Raw-Modus vom µC beschreiben lassen. Würd ich aber ehrlich gesagt nicht tun, und da gleich ein Filesystam aufsetzen. Denn irgendwann kommt der Tag, an dem die Steuerung dann auch noch Messwerte und sonstiges in Log-Files auf die SD-Karte schreiben soll. Das mag zwar heute noch nicht angedacht sein, aber der Tag kommt fast so sicher, wie das Amen im Gebet. Läuft das Filesystem dann schon, ist diese Erweiterung pipifax. Läuft sie noch nicht, dann muss man sie machen. Also: Dann lieber gleich machen. Natürlich nur unter der Voraussetzung, dass die Konfiguration auf der SD-Karte ist und nicht im EEPROM (was ich persönlich bevorzugen würde. SD-Karte ist wieder eine Fehlerquelle mehr, da komplexer als EEPROM)
Man könnte auch ein externes I²C-EEPROM (8 Pins) nehmen, ist wesentlich einfacher als die Anbindung einer SD-Karte. Dann kann man die Steuerung wechseln, indem man das DIP-EEPROM aus dem Sockel zieht und in das neue Modul steckt.
Karl Heinz Buchegger schrieb: > SD-Karte ist wieder eine Fehlerquelle mehr, da komplexer als EEPROM) und braucht um einiges mehr Strom. Zugriffszeit und Stromaufnahme ist dank wear leveling auch nicht deterministisch. Ob im Strom-Weg-Fall die Versorgung noch lange genug gehalten werden kann, um die Daten auf Karte zu schreiben ist also mehr oder weniger Glücksspiel.
Karl Heinz Buchegger schrieb: > Würd ich aber ehrlich gesagt nicht tun, und da gleich ein Filesystam > aufsetzen. > Denn irgendwann kommt der Tag, an dem die Steuerung dann auch noch > Messwerte und sonstiges in Log-Files auf die SD-Karte schreiben soll. Guter Einwand, hast natürlich recht - in die Richtung hab' ich nicht gedacht. Vlad Tepesch schrieb: > und braucht um einiges mehr Strom. > Zugriffszeit und Stromaufnahme ist dank wear leveling auch nicht > deterministisch. > Ob im Strom-Weg-Fall die Versorgung noch lange genug gehalten werden > kann, um die Daten auf Karte zu schreiben ist also mehr oder weniger > Glücksspiel. Ob das jetzt ein Problem ist ist auch eine Frage der Umsetzung. Er spricht ja von Konfigurationsparametern. Die werden ja im Normalfall nur beim Ändern von Einstellungen geschrieben und ein mal beim Programmstart eingelesen, so würde ich das jetzt zumindest mal interpretieren. Die restliche Zeit kann man die SD-Karte ja eigentlich vom Strom trennen.
Semi-kolon schrieb: > ABER ich würde gerne die Parameter auf einer SD Karte schreiben (hab das > KEIL Eval-Board mit SD) damit wenn man die Steuerung wechselt, so die > Einstellungen nicht verliert. Ist eine Frage, was man öfter wechselt, die Steuerung doch wohl eher selten. Ich würde daher nur für den Einzelfall, daß man die Steuerung wechselt, eine SD-Karte einstecken, die Settings darauf kopieren und die neue Steuerung damit beschreiben. Peter
Danke! Die SD Karte läuft jetzt mit FAT. Beschreiben und lesen geht einwandfrei. Ich mach das aber genauso wie Peter sagt. Die sd Karte schreibt die daten ins virtuelle eprom 4kb und beim wechsel kann man erneut die sd karte einstecken. Muss aber dann nicht mehr drin bleiben.
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.