Forum: Compiler & IDEs GNU LD - Speicherabbild einbinden


von Steffen (Gast)


Lesenswert?

Hallo ...

ich habe eine Datei, die den Speicherinhalt für einen bestimmten
Bereich enthält (Binär). Das ganze soll später per SPI übermittelt
werden. Nun möchte ich gern diese Datei so einbinden, das im
Linker-Script ein bestimmter Bereich an einer bestimmten Adresse
verwendet wird.

Leider weiss ich nicht (und habe auch nichts gefunden), wie man eine
Datei im ldscript includen kann und diesem eine bestimmte Section
zuweist.

Kann mir jemand helfen ?

Grüße
Steffen

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Kannst du vielleicht das Ganze als Objektdatei dazu linken?

Sagen wir, deine Eingabedatei heißt foo.bin, dann mach

avr-objcopy -I binary -O elf32-avr foo.bin foo.o

Linke foo.o mit zum Job dazu.  Im C-Programm schreibst du:

extern void *_binary_foo_bin_start;
extern size_t _binary_foo_bin_size;

...und benutzt diese Symbole, um drauf zuzugreifen.

von Steffen (Gast)


Lesenswert?

Hallo ...

genau so habe ich es jetzt gemacht. Ich wollte es gerade posten. Aber
trotzdem danke für Deine Antwort.

Grüße
Steffen

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.