Forum: Mikrocontroller und Digitale Elektronik C Programm aus mehreren Hex kombinieren?


von Tuffi (Gast)


Lesenswert?

Hallo!

Ich habe 3 HEX Files die je 1 vollständiges Programm bilden. Leider habe 
ich den Code nicht mehr das war ein altes Projekt aus meiner 
Anfangszeit. 2 Teile davon könnte ich nun doch gebrauchen. Ist es 
möglich diese ins Programm einzufügen. Also etwa in dieser Richtung

if Schalter1 aktiv then
 Führe HEX1 aus
else if Schalter2 aktiv then
 Führe HEX2 aus
else
 Führe neues Programm aus
end if

HEX1, 2 wäre aus dem alten Projekt, ein Programm, wenn ausgeführt, 
solange laufen kann bis es endet. Wie gesagt ich habe nur die HEX davon. 
Geht sowas?

von hin und weg (Gast)


Lesenswert?

Ja iss denn heut' scho wieder Freitag?

von N. M. (mani)


Lesenswert?

Du kannst sie ja Mal dem Disassembler vorwerfen und die benötigten 
Stellen rauskopieren.

von A. S. (Gast)


Lesenswert?

Nein.

Du müsstest wissen, für welchen Prozessor das ist, wie die Hexfiles 
aussehen und welches Environment sie genau brauchen.
Du müsstest die Hexfiles an genau die Stelle laden, an denen sie 
vorgesehen sind. Damit absolute Sprünge funktionieren. Vermutlich liegen 
sie aber an der gleichen Stelle, darum müsstest Du das per HW und 3x 
externem Speicher lösen.

Wenn Du das alles kannst und wüsstest, würdest Du nicht fragen.

von Tuffi (Gast)


Lesenswert?

A. S. schrieb:
> Nein.
> Du müsstest wissen, für welchen Prozessor das ist, wie die Hexfiles
> aussehen und welches Environment sie genau brauchen.
> Du müsstest die Hexfiles an genau die Stelle laden, an denen sie
> vorgesehen sind. Damit absolute Sprünge funktionieren. Vermutlich liegen
> sie aber an der gleichen Stelle, darum müsstest Du das per HW und 3x
> externem Speicher lösen.
> Wenn Du das alles kannst und wüsstest, würdest Du nicht fragen.

Für welchen Prozessor weiß ich ja, es wären ja alte Sachen von mir, ich 
nehme auch den gleichen jetzt. Meine Idee war, nach Start springt er in 
den bootloader. Dann wählt er das passende Teil aus. Jedes Programm an 
sich ist ja geschlossen das sollte gehen. Es gibt auch keine Sprünge im 
Programm die waren sehr einfach.

Dann musste ich die doch theoretisch beliebig in den Speicher legen 
können und von bootloader an die Speicher Zelle springen, oder?

Die Hex könnte ich anpassen mit einem kleinen vb Programm. Das ist ja 
nur vorne die Speicher Zelle ändern und hinten das xor Byte. Dann kann 
ich alles Hex unter einander kopieren

Sollte das funktionieren?

von Andreas B. (bitverdreher)


Lesenswert?

Tuffi schrieb:
> Dann musste ich die doch theoretisch beliebig in den Speicher legen
> können und von bootloader an die Speicher Zelle springen, oder?

Nein, denn es gibt auch absolute Sprungadressen.
Bis Du Dein eigens geschriebenes Programm disassembliert hast, hast Du 
es selbst 10x neu geschrieben.
Vergiss es einfach. Schlaf Deinen Rausch aus und denk morgen nochmal 
drüber nach.

von A. S. (Gast)


Lesenswert?

Tuffi schrieb:
> Es gibt auch keine Sprünge im
> Programm die waren sehr einfach.

Ja, dann mach. Je nach Programmer, Tool oder HexFormat kannst Du auch 
die Files direkt so zusammenlegen und beim Einladen bzw. dazwischen eine 
Page oder Offset angeben. Es gibt auch tools, die Dir dabei helfen, 
srec_cat.exe (https://developer.arm.com/documentation/ka003262/latest) 
soll sowas können.

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.