Forum: Mikrocontroller und Digitale Elektronik MPC5567 linker script


von Bob H. (Firma: hinter den 7 bergen) (bob128)


Angehängte Dateien:

Lesenswert?

Hi,

ich arbeite mich gerade in den MPC5567 von Freescale ein. Es ist auch 
das erste mal das ich mich mit dem Linker script beschäftigen muss weil 
ich eventuell ein eigenes später Schreiben muss. Ich habe mir bei einem 
Beispiel Projekt das Linker Script File mal genauer angesehen und komme 
mit der Syntax nicht weiter obwohl ich im Internet schon diverse 
Tutorials durchgelesen habe. wie man im angehängten File erkennen kann 
(__Lnk.ind) beginnt die ".text" Section bei der Adresse 0x00000000 
Frage:

Ist das die physikalische Adresse des Flash Speichers des uC ? (siehe 
Screenshot ROT markiert) wenn dem so ist warum wird keine Endadresse 
angegeben woher weiß der Compiler wenn er zuviel in den Flash Speicher 
geschrieben hat ohne Angabe über die Endadresse?

Ich weiß das der Compiler erst aus dem Source Code sowohl C- als auch 
Assembler Files erstmal Object Files erstellt und der Linker dann aus 
allen zusammen eine ausführbare Datei generiert z.B. exe oder elf. Aber 
mir ist der Zusammenhang zwischen dem Startup File "crt0.s" und Linker 
Script noch nicht ganz klar.

Davon abgesehen nochwas, ich weiß was im .bss und .data landen soll aber 
was soll dann das .sbss ? was für variablen landen hier?
Auf dem Screenshot des ref Manuals vom MPC5567 sieht man außerdem die 
Startadresse des Internal SRAM nach meinen Recherchen müssen die 
Variablen der .bss und .data Section in das Internal SRAM geschrieben 
werden ABER die Adresse beginnt bei 0x4000 0000. aber im Linker Script 
File sieht man das als Startadresse 0x4000 2000 angegeben wird warum 
dieser Offset? UND warum wird nicht der voll zur Verfügung stehende 
Speicher verwendet es geht nur von 0x4000 2000 bis 0x4000 6000 ? ist das 
nur willkürlich ausgewählt oder steckt mehr dahinter vielen dank im 
voraus

von Bob H. (Firma: hinter den 7 bergen) (bob128)


Lesenswert?

hat niemand erfahrungen oder kenntnisse mit der linker script syntax?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.