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.
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
"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
Ich probier es einfach mal aus. Ich häng die Hex mal aneinander.. Besten Dank Stefan und Peter! AxelR.
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.
Achso nochwas: jetzt wäre es toll, wenn man zB.8 Teile nacheinander, sozusagen gemultiplext, flashen könnte. Hier jemand 'ne Idee?
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/
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.
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
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.
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
Bei mir gehts, so wie PeDa es vorschlug Beitrag "Re: Bootloader+Applikation zusammen flashen" kannst ja mal das hex posten
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)
Hallo, ist das so korekt oder mache ich was falsch? Gruß Michael
Stimmt doch (Soweit ich das einschätzen kann). Und die lässt sich nicht flashen?
Hallo Axel, der Fehler war dass am Ende ein CRLF zuviel war. Gruß Michael
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.