Bootloader+Applikation zusammen flashen

Gast #421406
Lesenswert?

Hallo zusammen,
ich flashe das HEX-File für den Bootloader (für Mega16[Megaload]) übers
STK500 via ISP.
Danach starte ich Megaload und flashe die Applikation über die USART.
Soweit ok.

Nun habe ich einige von den Dingern zum Flashen. Um Zeit zu sparen,
würde ich nun gerne den Bootloader und die Applikation gemeinsam übers
STK500 in einem Rutsch flashen.
Kann ich nun die HEX-Files beider Programmteile einfach mitm Editor
aneinanderhängen? Wohl nicht, oder?

Dankeschön

AxelR.
#421407
Lesenswert?

Beide Teile nach bin konvertieren, dabei beachten, dass die Größe dem
Adressbereich der einzelnen Teile entspricht.

Beide Teile zusammenkopieren, z.B.:
copy teil1.bin + teil2.bin ergebnis.bin /b)

Ergebnis wieder nach .hex konvertieren und zum Laden benutzen.
Nicht die schönste Methode, aber sie funktioniert.

Viel Spass, Stefan Kleinwort
#421408
Lesenswert?

"Kann ich nun die HEX-Files beider Programmteile einfach mitm Editor
aneinanderhängen?"

Das geht.

Du mußt nur beim ersten File den Enderecord (letzte Zeile) löschen und
dann das 2. File ranhängen.

Welches das 1. ist, ist egal, da jede Zeile die Adresse enthält.


Peter
Gast #421410
Lesenswert?

Funktioniert super!
CmdLine:

stk500.exe -cCOM1 -dATmega16 -ua3.0 -ut3.0 -I460800 -ifbootload_120.hex
-pf -fC0BD -FC0BD

macht ->sssssssssssssssssssssst ->fertig!
Sowohl Bootloader und Programm funktionieren unabhängig voneinander wie
bisher. ;-))

Vielen Dank nochmal für die schnelle Reaktion auf meine Frage!

Gruß
AxelR.
Gast #421413
Lesenswert?

habe ich mir angesehen.
Bei mir ist srec-cat, srec-cmp und srec-info mitinstalliert.
Ich bleibe erstmal bei der Variante, die HEX Files im Editor zusammen
zu kopieren. Der Firmwarestad ändert sich nicht jede Woche (hoffe
ich).
Ich muss halt in der nächsten Zeit einige viele von meinen Geräten am
Stück fertigen(lassen) und für die AVR Programmierung beim Distributor
ist nun die Zeit ein wenig knapp(wohl irgentwie diese Option
verpennt).

Zum mehrfachflashen:
gehört ja eigentlch in einen extrathread, daher nur kurz die
Vorgehensweise, die mir vorschwebt.
Die RESET Leitung vom ISP geht zum Multiplexer, der wiederrum die AVRs
nacheinander auf RESET legt, die SPI der einzelnen AVRs liegen parallel
am Bus. Da der SPI Bus in der Applikation nicht verwendet wird, dürfte
auch nichts passieren.

Wenn AVR1 fertig ist und die Applikation startet, sollten AVR2 bis AVR8
davon nicht gestört werden, meine ich...

Muss ich mal sehen. Ich such auch nochmal im Forum. Wird ja sicher
schon mal jemand dranngewesen sein, der sich damit beschäftigt hat.

nochmals schönen Gruß aus Berlin

AxelR.
Gast #421414
Lesenswert?

Hi,

@Axel:
> Bei mir ist srec-cat, srec-cmp und srec-info mitinstalliert.
> Ich bleibe erstmal bei der Variante, die HEX Files im Editor
zusammen
> zu kopieren. Der Firmwarestad ändert sich nicht jede Woche (hoffe

Ähm, wenn Du srec-cat schon funktionsfähig da hast, warum nicht
nutzen?

> srec_cat hex1.hex -Intel hex2.hex -Intel -o gesamt.hex -Intel

Und fertig! (wenn alle 3 als Intel-hex vorliegen bzw. entstehen
sollen)

Schönen Tag noch,
Thomas
Gast #421415
Lesenswert?

Naja ich wollte nicht nerven :-))
Ich habe mit dem "srec-cat" noch garnichts gemacht.
Das es soo einfach ist, kann ja keiner wissen grins
habs mal auf der Konsole eingetippt:
----------------------------------
C:\Dokumente und Einstellungen\rue\Eigene
Dateien\hex_zusammenfuehrung>srec_cat
bootload_96_491.hex -Intel m80-1_120.hex -Intel -o btl_fw1-120.hex
-Intel
srec_cat: bootload_96_491.hex: 41: warning: no start address record
srec_cat: m80-1_120.hex: 764: warning: no start address record

C:\Dokumente und Einstellungen\rue\Eigene
Dateien\hex_zusammenfuehrung>pause
Drücken Sie eine beliebige Taste . . .
--------------------------------

Hmm - scheint wohl doch nict so einfach zu sein.
Die Hex Files funktionieren doch, was hat srec-cat denn hier zu
bemängeln? das der Start adress record fehlt, steht ja da - sehe ich.
Warum stören sich andere Programme, die das HEX-File verwenden(avrdude
zB.) nicht daran.

Eigentlich habe ich auch gar keine Zeit mich lange an der Sache
aufzuhalten.
ich werde mal das Output-File("btl_fw1-120.hex") flashen und testen,
obs funktioniert. Wird schon. Wenn nicht habe ich ja das händisch
zusammengefügte.

Danke jedenfalls für den Tip!
Ich kanns mir ja mal am Wochenende näher ansehen. Denn wenn wirklich
mal ein FW-Update fällig ist und ich nicht in der Firma bin, geht das
mit srec-cat von der Kommandozeile und ist somit natürlich einfacher zu
dokumentieren
als lange Erklärungen in die Fertigungsdoku zu schreiben.
Wäre aber trotzdem klasse, wenn srec keine Warnings bringen würde um
unbedarfte Kollegen nicht zu irritieren.

Schöne Grüße und vielen Dank für die hilfreichen Tipps

AxelR.
Gast #513051
Lesenswert?

Hallo,

wenn ich meine beiden hex-files zusammenhänge letzte Zeile aus erstem 
Prog lösche und flashen möchte kommt die Meldung kein intel hex file und 
das programm flasht nicht.

Ich flashe mit AVR Studio 4.12
AVRPROG... seriell

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