Hallo zusammen,
ich programmiere mit CubeIDE einen STM32F302VE und FreeRTOS. Am
Controller hängt ein LCD mit vielen mehrsprachige Texten. Um RAM zu
sparen sind die Texte im Flash als const char gespeichert:
1 | const char *Software_Version[] =
|
2 | {
|
3 | /*DE*/"Software Version",
|
4 | /*EN*/"Software version",
|
5 | /*FR*/"Version du logiciel",
|
6 | /*IT*/"Versione Software",
|
7 | /*ES*/"Version del software",
|
8 | };
|
Aktuell spiele ich das Programm mit einem STLink auf den STM32. Dazu
nutzt CubeIDE das elf File.
Für programmieren über Bootloader wird eine bin Datei erzeugt. Dazu
nutze ich arm-none-eabi-objcopy.
Wenn ich das bin über Bootloader aufspiele fehlen bei wenigen Texten die
ersten 2 Buchstaben. Z.B. "ftware Version"
Gleiches bei flashen der bin über den STLink. Weshalb es nicht am
Bootloader liegen sollte.
Wenn ich in der C Datei die Reihenfolge ändere und z.B.:
1 | const char *Hardware_Version[] = ...
|
mit
1 | const char *Software_Version[] = ...
|
tausche fehlen die Zeichen im Hardware string.
Hat jemand einen Tipp wo ich den Fehler suchen kann?