GCC (Codesourcery) Addresse festlegen für CRP

Gast #2944597
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 .
Gast #2946088
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.
Moderator Persönliche Seite #2946175
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.
Gast #2950278
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren