Forum: Mikrocontroller und Digitale Elektronik ESP flashen über Xmega


von Tuffi (Gast)


Lesenswert?

Hi Leute,

ich habe eine Frage. Ich möchte die Software vom ESP eingebaut 
aktualisieren, über den Xmega. Der ist an USB dran. Weiß jmd. wie man 
das macht, bzw. wie die Protokolle sind, ich finde leider gar nichts 
dazu.

Insb. wundert mich auch, wenn ich eine Firmware programmiere (bspw. 
Arduino ide) und die mit dem ESP flash Tool hochlade, dann komprimiert 
der die irgendwie, muss ich das auch machen?

Ich habe VB Programm womit ich PC seitig die Software machen kann und 
dann die Protokolle für den ESP.

von Brain 2.0 (Gast)


Lesenswert?

Und warum machst du das nicht per OTA ?
Geht auch aus der Arduino IDE heraus.

von Tuffi (Gast)


Lesenswert?

Brain 2.0 schrieb:
> Und warum machst du das nicht per OTA ?
> Geht auch aus der Arduino IDE heraus.

Das hat div. Gründe, u.a. weil ich das nicht mache sondern ein 
Endnutzer. Und der nutzt kein Arduino und ist kein Entwickler sondern 
0815 Benutzer. Ich habe die Frage nicht so gestellt um andere Wege zu 
erlangen sondern für den Weg eine Lösung :)

von Tuffi (Gast)


Lesenswert?

Keine eine Idee wie das geht? Muss doch möglich sein, ich kenne Geräte 
die die das auch machen vom uC her den ESP bespielen. Dabei ist die ESP 
Software auf einem externen SPI Flash

von N. M. (mani)


Lesenswert?

Na wenn der XMEGA per USB am PC hängt muss der halt CDC spielen und sich 
als virtual COM Port ausgeben. Ähnlich wie die FTDI/CP21xx/CH340.
Und dann per UART weiter an den ESP. Zusätzlich wirst du noch die 
Boot/Reset/EN Pins bedienen müssen. Wir die Standardschaltung halt auch.

von Brain 2.0 (Gast)


Lesenswert?

Tuffi schrieb:
> Brain 2.0 schrieb:
>> Und warum machst du das nicht per OTA ?
>> Geht auch aus der Arduino IDE heraus.
>
> Das hat div. Gründe, u.a. weil ich das nicht mache sondern ein
> Endnutzer. Und der nutzt kein Arduino und ist kein Entwickler sondern
> 0815 Benutzer. Ich habe die Frage nicht so gestellt um andere Wege zu
> erlangen sondern für den Weg eine Lösung :)

Entschuldige, wenn durch fehlende Infos von dir, eine simple Lösung 
genannt wurde.

von STK500-Besitzer (Gast)


Lesenswert?

Tuffi schrieb:
> Ich möchte die Software vom ESP eingebaut aktualisieren, über den Xmega.

Welcher ESP? Bzw. welche Bauform?

von Tuffi (Gast)


Lesenswert?

N. M. schrieb:
> Na wenn der XMEGA per USB am PC hängt muss der halt CDC spielen
> und sich
> als virtual COM Port ausgeben. Ähnlich wie die FTDI/CP21xx/CH340.
> Und dann per UART weiter an den ESP. Zusätzlich wirst du noch die
> Boot/Reset/EN Pins bedienen müssen. Wir die Standardschaltung halt auch.

Danke aber das ist mir schon klar.

Mein Problem ist:
1. Protokolle für den ESP oder schiebe ich die Daten da einfach rüber? 
Es muss doch da ein Protokoll geben, denn bei der ESP Software kann man 
bspw. Sprünge vom Speicher machen und das wird ja auch irgendwie 
mitgeteilt?! Oder ist das ähnlich HEX File das darain die ganze 
Information enthalten ist und man nimmt wirklich diese ESP Hexfile und 
schiebt die einfach bilnd zum ESP ?

2. Kompression: Wie gesagt das ESP Loadertool komprimiert irgendwie die 
Datei. Eine alte Version des Tools macht das nicht, damit funktioniert 
die selbe Software auch nicht. Scheinbar gibt es da (im Chip?) 
Unterschiede.

Ich hatte ältere (blaue) ESP8266-01 da geht es ohne kompression. Die 
selbe Software auf die neuen ESP8266-01 (schwarz) oder auch ESP8266-12 
geht nicht, geht nur mit der neuen Software von Espressif mit 
Kompression.

Ich hoffe das hilft mein Problem zu verstehen !?

von Heiner (Gast)


Lesenswert?

Klare Antwort: nein 🤷‍♂️

von ArthurDent (Gast)


Lesenswert?

Wenn man einen ESP32 mit Micropython betreibt, wird die Micropython 
Firmware z.B. mit dem esptool (https://github.com/espressif/esptool) 
geflasht.
Dabei wird ein Binary per Uart nach dem ueblichen Reset Bootpin gedaddel 
ins Flash des ESP32 uebertragen.

Vielleicht ist das esptool ein Ansatz mal zu schauen, wie das gemacht 
wird :-)

von Tuffi (Gast)


Lesenswert?

ArthurDent schrieb:
> Wenn man einen ESP32 mit Micropython betreibt, wird die
> Micropython
> Firmware z.B. mit dem esptool (https://github.com/espressif/esptool)
> geflasht.
> Dabei wird ein Binary per Uart nach dem ueblichen Reset Bootpin gedaddel
> ins Flash des ESP32 uebertragen.
>
> Vielleicht ist das esptool ein Ansatz mal zu schauen, wie das gemacht
> wird :-)

Das wäre Plan B. Also meint ihr das da auch einfach byte für byte in der 
Reihenfolge übertragen wird ohne auf was zu achten?

Was ist mit der Kompression?

von ArthurDent (Gast)


Lesenswert?

Tuffi schrieb:
> Das wäre Plan B. Also meint ihr das da auch einfach byte für byte in der
> Reihenfolge übertragen wird ohne auf was zu achten?

Ich meine, wenn eine Software im Quellcode vorhanden ist, dann kann man 
analysieren, was da passiert :-)

von Tuffi (Gast)


Lesenswert?

ArthurDent schrieb:
> Tuffi schrieb:
>> Das wäre Plan B. Also meint ihr das da auch einfach byte für byte in der
>> Reihenfolge übertragen wird ohne auf was zu achten?
>
> Ich meine, wenn eine Software im Quellcode vorhanden ist, dann kann man
> analysieren, was da passiert :-)

Leider nicht, das ist nur eine EXE mit graphischer Oberfläche von ESP, 
man lädt die bin file vom esp. gibt die zu startene Offset Adr. an (bei 
mir 0x0) und dann kann man sich verbinden und los gehts. Mit einem USB 
UART Converter Standartteil und los.

von J. S. (jojos)


Lesenswert?


von Tuffi (Gast)


Lesenswert?

J. S. schrieb:
> schon mal hier nachgesehen:
> 
https://github.com/espressif/esptool/blob/master/docs/en/advanced-topics/serial-protocol.rst
> ?

Nein, aber ich glaube das ist exakt das was ich meinte/brauche. Danke !

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.