Forum: Mikrocontroller und Digitale Elektronik Hexfile integrieren (Eclipse/Yagarto)


von LinkerNewbe (Gast)


Lesenswert?

Guten Morgen.
Ich habe mal meinen eigenen STM32-Bootloader geschrieben und möchte 
dessen hex-Datei via linker(Eclipse+Yagarto) in andere Projekte 
einbinden. Die xxx.ld habe ich jeweils angepasst, und einen 16KBereich 
für den 16K Bootloader erstellt. Interruptvektorverschiebung ist auch 
erledigt.

Wie kannn ich jetzt (in einem anderen Projekt) dem Linker mitteilen das 
er diese Bootloader.hex in diesen Bereich kopiert?
Mir fehlt komplett der Ansatz!!!

von Daniel V. (danvet)


Lesenswert?

Ich bezweifle, dass der Linker Hexfiles in seinen Output einarbeiten 
kann. Ich würde es mal mit einem ObjectFile probieren.

Edit: Ausserdem sollte doch der Bootloader immer im Flash bleiben und 
nicht in der Firmware immer mit eingebunden werden, oder hab ich dich 
falsch verstanden?
Du hast doch dem Linker schon gesagt, wo dein Bootloader ist und dass da 
nix hingelinkt werden darf. Passt doch.

von LinkerNewbe (Gast)


Lesenswert?

Bei IAR(Linker-output) ist das möglich unter verwendung einer z.B. 
lnk2560.xcl-Datei und unter Angabe eines Raw-binary-image + Symbol + 
Segment + Align.

Mir wäre es egal ob eine HEX, BIN (oder ELF) einbinde.
Der Bootloader(Erweitert auf RFM-Funkmodul+Protokoll aktiviert durch 
Tastendruck) ist am Flashanfang (0x08000000-0x08008000)
Die Firmware beginnt dann bei 0x08008000.
Ich habe .hex . bin und .elf des Bootloaders.
Wie bekomme ich Eclipse+Yagarto dazu eine davon an den Anfang zu setzen.
Wäre schön wenn das ohne Merge-Software möglich wäre.
Ein Pre-build-Befehl reicht auch.

von LinkerNewbe (Gast)


Lesenswert?

Verstehe i das richtig:
Bootloader.elf-Datei zu Bootloader.o machen,
Diese in eine Section aus der .ld einbinden via "arm-none-eabi...etc",
fertig?

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.