Forum: Mikrocontroller und Digitale Elektronik Bootloader+Applikation zusammen flashen


von Axel R. (Gast)


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.

von Stefan K. (_sk_)


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

von Peter D. (peda)


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

von Axel R. (Gast)


Lesenswert?

Ich probier es einfach mal aus. Ich häng die Hex mal aneinander..

Besten Dank Stefan und Peter!

AxelR.

von Axel R. (Gast)


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.

von Axel R. (Gast)


Lesenswert?

Achso nochwas:
jetzt wäre es toll, wenn man zB.8 Teile nacheinander, sozusagen
gemultiplext, flashen könnte.
Hier jemand 'ne Idee?

von Martin Thomas (Gast)


Lesenswert?

Die srecord-Toolsammlung hilft oft, wenn man mit binary-Dateien arbeiten
muss (egal ob Intel hex, "raw-binary", Motorola s-record etc.). Wird
bei WinAVR mitinstalliert. http://srecord.sourceforge.net/

von Axel R. (Gast)


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.

von tom (Gast)


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

von Axel R. (Gast)


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.

von Michael (Gast)


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


von Axel R. (Gast)


Lesenswert?

Bei mir gehts, so wie PeDa es vorschlug
Beitrag "Re: Bootloader+Applikation zusammen flashen"

kannst ja mal das hex posten

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

hier die erste Datei

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

und die zweite

von Axel R. (Gast)


Lesenswert?

die bt_no_reset und die v135 müssen jetzt zusammen?

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

OK ist klar.

Bei bt_no_reset lösche ich die letzte Zeile :00000001FF
und hänge v135 hintendran, ist das so richtig?
Das sieht dann so aus (siehe Anhang)

von Michael (Gast)


Lesenswert?

Hallo,

ist das so korekt oder mache ich was falsch?

Gruß Michael

von Axel R. (Gast)


Lesenswert?

Stimmt doch (Soweit ich das einschätzen kann). Und die lässt sich nicht 
flashen?

von Michael (Gast)


Lesenswert?

Hallo Axel,

der Fehler war dass am Ende ein CRLF zuviel war.

Gruß Michael

von Axel R. (Gast)


Lesenswert?

Uups ;-))

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.