Guten Abend Zusammen, ich habe bei meinem STM32 Projekt eine Config die ich aus dem Flash lese und auch programmatisch ins Flash zurück schreibe. Beispiel: typedef struct{ uint8_t param1; uint8_t param2; }config_t; Hier mein Flash-Layout: Sector0: Bootloader Sector1: Config Sector2: Config ... Sector5: Application Sector6: Application ... Jetzt wollte ich gerne eine Default-Config direkt (mit einem Tool) flashen, also direkt an den Anfang von Sector1. Ich habe schon versucht ein Hex-File zu erstellen und dieses dann mit dem ST-Flash-Tool zu schreiben, was leider nicht funktioniert hat. Hat wer eine bessere Idee? Ciao danny
Hinterher nochmal alles auslesen und schaun was übrig geblieben oder schief gelaufen ist. Manche Tools löschen den kompletten Flash, die mesiten kann man irgendwo sagen was gelöscht werden soll und was nicht.
Das Problem mit dem ST-Tool ist, das es mein hexfile gar nicht erst liest! Vmtl erwartet das teil ein ELF file zum Flaschen. Womit kann man den direkt 'bytes' die aus einem file kommen flashen? Kann man dafür OpenOcd nehmen? Danny
Ich würde diesen Weg nicht gehen. Nimm mal den Fall, dass beim späteren schreiben einer Konfiguration etwas schief läuft. Dann solltest Du auch mit den Defaultsettings starten. Daher: - Prüfung auf Korrektheit der Konfiguration - Anfangs düfte diese nicht korrekt sein, - bei fehlerhafter Konfiguiration Default auf den Flashbereich schreiben
Steffen Rose schrieb: > Nimm mal den Fall, dass beim späteren schreiben einer Konfiguration > etwas schief läuft. Dann solltest Du auch mit den Defaultsettings > starten. So würde ich das nicht lösen. (Wobei das immer auf die Anwendung ankommt). Im ungünstigsten Fall bekommst du dann nicht einmal mit, das keine Konfiguration wieder auf default gesetzt ist. So ein automatisches Init sollte vorher immer überprüfen, ob der Bereich z.B. einfach leer ist. Dann kann man automatisch die default Werte setzten. Wenn später hier etwas schief geht, würde ich den Start abbrechen und den Benutzer benachrichtigen, damit der entscheiden kann, was getan werden soll.
Ich habe tatsächlich das ST-Link probiert. Damit konnte ich mein File aber nicht öffenen. Das mit der Default-Config automatisch laden könnte man so machen, aber ich hätte auch gerne die Möglichkeit, "von Aussen" quasi eine Kalibrierung/Config einzuspielen. Am Besten ohn eBootloader o.Ä. danny
Das sollt aber gehen. Bei mir kann das Tool .bin, .hex und noch andere Formate öffnen und programmieren. Meine Programme bestehen auch meistens aus zwei hex Dateien (Bootloader und Firmware) und die kann man ohne Probleme getrennt aufspielen ohne den anderen Teil zu stören.
:
Bearbeitet durch User
danny L. schrieb: > ich hätte auch gerne die Möglichkeit, "von Aussen" quasi eine > Kalibrierung/Config einzuspielen. Am Besten ohn eBootloader o.Ä. Dann mußt du mehr darüber schreiben, was nicht geht. Dann können wir schauen, was du falsch machst. Und die genaue CPU wäre schon nicht schlecht zu wissen. > Das Problem mit dem ST-Tool ist, das es mein hexfile gar nicht erst > liest! Welches Tool nutzt Du genau? http://www.st.com/web/en/catalog/tools/PF258168 kann lt. Handbuch: Opens a binary, Intel Hex or Motorola S-record. Wie hast Du das ihex erzeugt? Könnte es fehlerhaft sein?
Hallo Zusammen, ich habs mit ST-Link hin bekommen. Das Problem war wohl tatsächlich das Input-File. Hab eines mit HexEditor erstellt und das ging einwandfrei Danke in die Runde
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.