Forum: Mikrocontroller und Digitale Elektronik Wie Bootloader und Applikation in ein Binary?


von StinkyWinky (Gast)


Lesenswert?

Hallo Forum

Ich habe zwei separate uVision3 Projekte in C für einen Luminary M3:
- Bootloader, startadresse 0h
- Applikation, Startadresse 2000h

Beide Projekte werden separat in je eine BIN-Datei übersetzt. Beim 
Flashen wird der Bootloader an Adresse 0h, die Applikation an Adresse 
2000h geschrieben. Funktioniert alles Bestens.

Nun möchte ich aber eine einzelne BIN-Datei erzeugen, welche den 
Bootloader und die Applikation an der richtigen Adresse beinhaltet, 
sodass nur ein Flash-Vorgang benötigt wird.

Bisher haben wir das so gelöst, dass wir einen fertig programmierten 
Controller wieder ausgelesen haben.
Ich bin der Meinung, dass dies eigentlich direkt möglich sein sollte, 
indem man zur Applikation den Bootloader hinzulinken könnte.

Allerdings habe ich keinen Plan, wo ich ansetzen muss.

von Peter II (Gast)


Lesenswert?

hat du die bin files als intel hex files? Wenn ja müsste man sie einfach 
zusammenfügen können.

von StinkyWinky (Gast)


Lesenswert?

Danke für den Tipp, das funktioniert gut!

Intel-Hex kann ich so erstellen:
fromelf --i32 --output boot.hex boot.axf
fromelf --i32 --output app.hex boot.axf

Kombinieren sollte so gehen:
copy /b boot.hex + app.hex bootapp.hex

Dann zurück nach bin:
hex2bin bootapp.hex   [1]



[1] http://sourceforge.net/projects/hex2bin/

von Michael (Gast)


Lesenswert?

Den Bootloader muss man ja nur einmal flashen.
Wenn du das für weitere Controller brauchst, würde ich ein Makefile 
schreiben, das beide Vorgänge in einem ausführt.

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.