STM32F4 - Flash in verschiedene Bereiche aufteilen

OP #3665405
Lesenswert?
• ▲
▼
Guten Morgen,

ich arbeite gerade, den Flashspeicher des STM32F4 als EEPROM für 
Einstellungen etc. zu nutzen. Dafür möchte ich die kleineren Sektoren 
(z.B. 1&2) des Flash nutzen. Da diese allerdings früh im Adressraum 
liegen, sind sie im Standard-Linkerscript für Code vorgesehen.

Ich habe also ein eigenes Linkerscript gebaut, mit dem ich Sektor 0 für 
die Vektortabelle und Startup Code nutzen möchte (im C Code als 
_attribute_ ((used,section(".isr_vector"))) bzw .startupCode 
gekennzeichnet), Sektor 1 & 2 für Einstellungen explizit frei lassen 
will und dann ab Sektor 3 den Rest des Codes zulassen möchte. Leider 
läuft es nicht so wie erhofft :(

Problem 1: Linke ich mit der Option --gc-sections, wird direkt alles 
verworfen (Größe der Ausgabe 0 Bytes). Hat jemand eine Idee woher das 
kommt? Ich habe ja explizit mit den EXTERNs LD darauf aufmerksam 
gemacht, dass es die Sections isr_vector und StartupCode gibt. Von 
letzterer aus wird übrigens main() angesprungen.

Problem 2: Linke ich ohne die Option --gc-sections, es wird also aller 
Code in die Ausgabe gepackt, bekomme ich die Meldung, dass die Sektion 
rom_isr, welche ja eigentlich nur die Vektoren und den Startup Code 
beinhalten sollte, zu klein ist für den gesamten Code (es wird eine 
Routine genannt, die in der main zyklisch aufgerufen wird, aber in 
keiner ISR aufgerufen wird).

Ich habe schon gut gegoogelt und verschiedene Sachen ausprobiert, 
letztlich aber ohne Erfolg. Wenn jemand einen Tipp hätte, wäre ich echt 
dankbar!

Liebe Grüße, Jan
Angehängte Dateien:

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.