EEPROM schreiben, während Firmware in MCU geflasht wird

Ich verwende ein STM32L0x2-Gerät, Arm Cortex M0-Kern.

Mein Ziel ist es, während des Flashens der Firmware einen Standardwert in einer EEPROM-Seite zu flashen.

Lange Rede, kurzer Sinn: Ich möchte, dass beim Flashen der .elf in der MCU (ich verwende STM32CubeProgrammer) eine bestimmte EEPROM-Seite mit den gewünschten Daten geschrieben wird.

Mein Chef sagte, es sollte ein bestimmtes #Pragma geben, aber ich kann nichts im Handbuch finden.

Danke.

Unmöglich zu sagen, wie es geht, weil Sie nicht sagen, welche Toolchain (dh Compiler) Sie verwenden. Wahrscheinlich ist es nicht einmal mit #pragma in Ihrem Compiler fertig, da Sie es nicht gefunden haben.
Ich dachte, dass die Toolchain implizit war. trotzdem: STM32CubeIDE

Antworten (1)

  1. Einfache Methode, sehr portabel.
    Speichern Sie die Standardwerte in einer normalen konstanten Struktur, prüfen Sie beim Booten, ob das Eeprom geschrieben ist, wenn nicht, schreiben Sie es. Standardmäßig lautet der Speicher FF, sodass ein Blankoscheck einfach ist.
    Nachteil: Typenzusatz.
    Vorteil: Sie können Inhalte während des Firmware-Updates behalten, wenn Sie möchten.

  2. Toolchain-Methode, hochintegriert.
    Ändern Sie die Linker-Datei, um dem EERPOM einen eigenen Abschnitt zu geben.
    Setzen Sie eine Konstantenstruktur in eine Datei namens eeprom.c, bei put eeprom.oin diesen neuen Abschnitt. Nachteil: Bei einem Firmware-Upgrade ist es schwierig, Inhalte beizubehalten.
    Vorteil: Sie lernen Linker-Dateien kennen.

Es gibt kein zu verwendendes Pragma, STs sind keine AVRs.

danke für die Antwort. Ich werde beide Lösungen untersuchen, aber ich mag 2)
@DaniloAgosto Hier ist irgendwo ein Beispiel gepostet. Ich kann es nicht finden, vielleicht auf StackOverflow ...
@DaniloAgosto Sie können dies verwenden, um anzufangen, denke ich. electronic.stackexchange.com/questions/572629/…