mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootloader+Applikation zusammen flashen


Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich probier es einfach mal aus. Ich häng die Hex mal aneinander..

Besten Dank Stefan und Peter!

AxelR.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Axel R. (axelr) Flattr this
Datum:

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

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


Autor: Axel R. (axelr) Flattr this
Datum:

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

kannst ja mal das hex posten

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier die erste Datei

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und die zweite

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die bt_no_reset und die v135 müssen jetzt zusammen?

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist das so korekt oder mache ich was falsch?

Gruß Michael

Autor: Axel R. (axelr) Flattr this
Datum:

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

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Axel,

der Fehler war dass am Ende ein CRLF zuviel war.

Gruß Michael

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uups ;-))

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.