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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.