Forum: Compiler & IDEs GCC (Codesourcery) Addresse festlegen für CRP


von CRP (Gast)


Lesenswert?

Wie und wo legt man denn bitte die Adresse für .crp fest ?
Sie soll ja auf 0x2FC liegen.

(im startup_LPC17xx.S steht:)

....
        .section ".crp"
        .globl  CRP_Value
CRP_Value:
        .long   0xFFFFFFFF

....

Wenn ich ein bestimmen Teil eines Programms auf eine bestimme Adresse
legen möchte , wie und wo muss das denn angegeben werden?

Benutze Codesourcery für CortexM3.

Danke .

von CRP (Gast)


Lesenswert?

Vielleicht kann mir doch jemand zur CRP Location helfen.

Im StartupSource  steht :

....
    .size   __cs3_interrupt_vector_cortex_m, . - 
__cs3_interrupt_vector_cortex_m

    .thumb

    .section ".crp"
    .globl  CRP_Value
CRP_Value:
    .long   0xFFFFFFFF

/* Reset Handler */
...

Im Linker Script steht :

...

    /*CRP section */
    . = 0x000002fc;
    KEEP(*(.crp))

    . = ALIGN(4);
...

Aber trotzdem gibt es CRP_Value nicht als Symbol und an der Adresse
0x2FC steht was anderes.

Wäre wirklich sehr nett wenn ich einen Tipp bekommen könnte was
falsch ist oder noch fehlt.

Danke.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Zu wenig Information für konkrete Hinweise. Dennoch: Die gezeigten 
Fragmente sind o.k., sofern die Startadresse der Output-Section, in die 
die input-section .crp geschrieben wird, 0 ist. D.h. Falls die 
output-section FLASH heisst, sollte im linker-script, Abschnitt memory 
origin=0x00000000 stehen. . = 0x000002fc; ist der Offset zur 
Anfangsadresse.

von CRP (Gast)


Lesenswert?

@mthomas

Dank für den Hinweis.

Es geht jetzt.

War zwar nicht direkt der passende Hinweis, aber aufgrund der
Hilfestellung habe ich nochmals ganz genau nachgesehen und dabei einen
dummen Anfängerfehler gefunden, der mit dem Linker Spript zu tun hat
und eigentlich nichts mit CRP.

Habe schon öfters von den sehr qualifizierten Beiträgen und Tipps
profitiert. Danke sehr nochmals.


Gruss

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.