Mit den Bintuils fällt mir grade auch keine schnelle Lösung ein. Evtl.
über Umwege mit x*bin->hex, dann hex zusammenkopieren, von Hand
anpassen, hex->bin.
Mit den bereits von Jörg erwähnten s-record Tools
(http://srecord.sourceforge.net/) ist das "Zusammenkopieren" aber
relativ einfach ohne größere Klimmzüge möglich (nicht nur für hex oder
srec). Die Tools sind auch in WinAVR enthalten.
Habe das bei einem Projekt mal so gemacht für Anwendung+Bootloader unter
Verwendung des Programms srec_cat aus den Tools. Dateien grade nicht zur
Hand, also "aus dem Kopf" und ohne Gewähr:
gegeben:
app.bin - die bin-Datei mit der Anwendung, soll an Flash-Adresse 0x0000
boot.bin - die bin-Datei mit dem Bootloader, soll an Adresse 0x3800
"Zusammenführen"
1 | srec_cat app.bin -binary boot.bin -binary -offset 0x3800 -o flashimg.bin -binary
|
Ergebnis:
Datei flashimg.bin mit der Datei zum Flashen, in der beide Binärcodes
enthalten sind
Wie ebenfalls schon erwähnt, braucht man die Adresse, an denen die
einzelnen Teile starten. Diese sind nicht in der bin-Datei enthalten und
müssen von Hand vorgegeben werden (offset 0x0 ist default, daher keine
Angabe für app.bin).
Prinzip ist hoffentlich leicht auf die eigene Anwendung übertragbar.
Martin Thomas