Reihenfolge im ROM

Gast #177383
Lesenswert?
• ▲
▼
Hallo,

der Linker des MSPGCC legt offenbar die einzelnen Objekte (*.o) in der
Reihenfolge in den Speicher (.section .text), in der sie auch beim
Aufruf angeben werden.
Vor das erste Objekt setzt er sein eigenes Systemstartup (z.B. Kopieren
der initialisierten globalen Variablen vom ROM ins RAM usw. bis zum
Aufruf von main).
Wie kann ich dem Linker sagen, daß er ein bestimmtes Objekt, welches
nur "const unsigned char  uc_Konstante[] = "abc";" enthält, vor
allen anderen Dingen direkt an den Anfang meines ROM-Bereiches setzten
soll (MSP430F149 bei Adresse 0x1100 und bei MSP430F147 bei Adresse
0x8000)?

Dankbar für jeden sachdienlichen Hinweis
ist
Marcus
Gast #177384
Lesenswert?
• ▲
▼
also soviel ich weiß kannst du es nicht ganz an den anfang schieben da
dort die sprungadressen abgelegt werden.ansonsten mit asm da kannst du
ihm "sagen" wo er es auf welchen speicherplatz legen soll.
ciao peter
Gast #177385
Lesenswert?
• ▲
▼
Die Vektoren liegen beim MSP am Ende des ROMs.
Wie sage ich dem GNU-Assembler wo er den Code hinlegen soll? .org kann
immer nur zu dem aktuellen location counter etwas hinzu, aber nicht
wegzählen.

Marcus
Gast #177387
Lesenswert?
• ▲
▼
Aus dem Onlinemanual vom GNU-as:

".org may only increase the location counter, or leave it unchanged;
you cannot use .org to move the location counter backwards."

Wenn der MSPGCC mir das Startsystem automatisch an die Adresse 0x1100
(MSP430F149) und ich die Datei mit den Konstanten, die ich eigentlich
an diese Adresse haben will dem Linker als erstes angebe, setzt der
Linker die Konstanten mit dem Abstand 0x1100 nach dem letzten Befehl
des eigentlichen Programms. Alles in der Section text.

Welches ist also die richtige Stelle der .org-Anweisung?

fragt

Marcus

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.