AVR Studio 2 Hex-Files mergen

Gast #2454034
Lesenswert?

Hallo,

ich verwende AVR Studio 5 und möchte gerne das generierte Hex-File mit 
einem bereits zuvor generierten Hex-File mergen. Dies sollte Aufgabe des 
Linkers sein. Kann ich das mit AVR Studio hinkriegen oder muß ich 
hierfür das Makefile erweitern? Ich hoffe auf Ersteres :)

Viele Grüße,
Martin
Gast #2454048
Lesenswert?

>Dies sollte Aufgabe des Linkers sein

Was heisst "sollte"? Du nimmst es an? Du wünschst es Dir? Dein Linker 
ist so spezifiziert?
Ich kenne keinen Linker der Hex-Files zusammenfügt. Eigentlich ist es 
auch nicht seine Aufgabe.
Vielmehr ist er so spezifiziert, das er die in verschiedenen 
Object-Files vorhandenen Referenzen auf Variablen und Funktionen in 
jeweils anderen Object-Files auf konkrete Werte setzen damit diese zur 
Laufzeit referenziert werden können.

Ein Makefile enthält zum Bau des Gesamtprojektes notwendige Kommandos 
und deren gegenseitige Abhängigkeit. Insofern wäre hier eine weitere 
Abhängigkeit und ein Kommand einzufügen, das die beiden Hex-Files 
zusammenfügt.

Von dem zusammenfügen alleine hast Du aber ohne weitere, nicht triviale 
Maßnahmen nichts. Keines der beiden Teile kennt irgendeine Referenz in 
einem der anderen. Wiegesagt, nicht ohne weiteres und ohne etwas 
komplexere Voränge.

Das einfachste wäre es, die beiden Projekte, die jeweils ein Hex-File 
erzeugen, in ein Projekt zusammenzufügen bevor daraus Hex-Files 
entstehen und sich ein ganzes erzeugen zu lassen. D.h. soweit beide 
Hex-Files aus C-Code oder Assembler-Code entstehen, diese ersteinmal zu 
kompilieren resp. assemblieren und dann vom Linker die Referenzen 
ergänzen zu lassen und dann erst ein Hex-File erzeugen.

Üblicherweise wird aber eine solche Frage gestellt, wenn sich das eine 
Hex-File nicht mehr neu erzeugen lässt. Ist das so? Dann wird es 
komplizierter.
Gast #2457662
Lesenswert?

Vielen Dank Oliver für die Links und an auch Noname bzgl. der kleinen 
Belehrung :-).

Ich habe eine Lösung gefunden. Entweder mit Hex2Bin und danach Bin2Hex 
mit Merge oder mit srec_cat.

Viele Grüße,
Martin

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