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.
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.
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.o
in 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.
Nur ich
edenroz