Linkerscript und Startupcode für Cortex M3/M4

OP #5605195
Lesenswert?

Hallo hallo,

habe schon lange nichts mehr mit Mikrocontrollern gemacht, aber nun will 
ich endlich die Firmware für mein GPS-Frequenznormal fertig schreiben. 
Eine ziemlich übelst verbastelte Version habe ich zwar bereits und das 
Frequenznormal läuft nun schon ein paar Tage und hat sauber die Frequenz 
geloggt, insofern Ziel erreicht, ABER ich will es nun noch sauber machen 
und ein paar zusätzliche Features implementieren.

Äh, da war doch mal was mit einem Linkerscript und Startupcode...
ich hab beides mal angehängt. Es sind uralte Files, von denen ich keine 
Ahnung mehr habe, wo ich die abgekupfert habe. Im grossen und ganzen 
funktioniert es auch - aber ist auch alles korrekt implementiert?

Ich befürchte nein, z.B. suggeriert die crt0.S, dass der Heap eine 
Grösse von 0x100 haben soll - aber wenn im Code nun irgendwo ein 
malloc() auftaucht, dann bekomme ich die Linkerfehlermeldung "Region RAM 
overflowed....". Ohne malloc() geht es. Also ist schon mal irgend etwas 
nicht koscher.

Im Endeffekt werde ich für dieses Projekt jetzt zwar malloc() nicht 
nutzen, insofern ist mir der Heap egal, aber es stört mich trotzdem, 
dass da was nicht stimmen kann. Wo liegt denn nun der Heap wirklich, und 
wie gross ist er, und wo liegt der Stack wirklich und wie gross ist er? 
Die LD-Syntax ist mir leider nicht so geläufig.

ach ja, das hier soll vorerst einmal auf einem STM32F303K6T6 laufen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren