Progamm aus elf und bin unterschiedlich

Gast #6190513
Lesenswert?
• ▲
▼
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?
Gast #6191806
Lesenswert?
• ▲
▼
Danke Sven für den Tipp.

Ich habe das Problem nun gefunden. Es liegt an der dynamischen Speicher 
Reservierung vom FreeRTOS. Nach einem Wechsel von heap_4 auf heap_2 sind 
die Effekte verschwunden.
Ich habe es noch nicht vollends Verstanden aber für das erste bin ich 
zufrieden :)
Es gibt einen Artikel der für die Kombination CubeMX, newlib und 
FreeRTOS Hinweise gibt: 
http://www.nadler.com/embedded/newlibAndFreeRTOS.html

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.