Hallo, Ich benutze ein STM32 mit gcc, ist aber eigentlich egal. Im Linker Script steht z.B. Soetwas MEMORY { ROM (rwx) : ORIGIN = 0x08000800, LENGTH = 256K RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 20K } Im c-Code würde ich gerne das was unter ROM angegeben ist übernehmen. Hintergrund ist bei Änderungen des Linkerscriptes nicht immer auch im c Code alle Offsets zu ändern. Ein #define Rom 0x08000800 im c code welches dann im script übernommen wird wäre mir noch lieber wenn das geht. Frage ist wie?
Hallo, vielleicht so: Im Makefile: ROM_Start=0x08000800 Bei den Compiler-/Linkeroptionen dann -D$(ROM_Start) mit angeben und im Linker ROM (rxw) : ORIGIN = ROM_Start, LENGTH = 256K Ich habs nicht ausprobiert also ohne Gewähr.
Habs herausbekommen: Man gibt im Linker Script z.B. PROVIDE ( __romaddress = ORIGIN(RAM)); an und kann dann mit extern vu32 __romaddress; das ganze verfügbar machen und letztlich mit dummy = (vu32) &__romaddress; auslesen. Gockel sein dank!
den Sinn der Bezeichnungen vergessen wir einfach mal, kommt vom herumprobieren.
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.