Forum: Mikrocontroller und Digitale Elektronik ESP32-WROOM Verbindung zur IDE fehlgeschlagen, wiederholter Reset und Sonderzeichen in UART


von Maximilian (maximilian_h499)


Lesenswert?

Hallo!
Da ich für ein Projekt einen ESP32 verwendet habe, wollte ich das WROOM 
direkt auf die Platine geben, um Platz zu sparen. Leider scheint aber 
irgendetwas schief gegangen zu sein und ich kann den ESP32-WROOM nicht 
programmieren.

Ist der ESP32 mit Strom versorgt, sendet er folgende Daten wiederholt 
über UART:
1
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
2
configsip: 0, SPIWP:0xee
3
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
4
mode:DIO, clock div:2
5
load:0x3fffeba4,len:4
6
load:0x4009f000,len:3248
7
entry 0x4009f574
8
OHAI⸮⸮⸮i,boot:0x13 (SPI_FAST_FLASH_BOOT)
9
configsip: 0, SPIWP:0xee
10
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
11
mode:DIO, clock div:2
12
load:0x3fffeba4,len:4
13
load:0x4009f000,len:3248
14
entry 0x4009f574
15
OHAI|N⸮⸮Ғ⸮Ң⸮j

Daraus schließe ich, dass er sich ständig zurücksetzt und irgendetwas 
mit der Datenübertragen nicht stimmt, weil dort Sonderzeichen 
auftauchen.

Kann das jemand bestätigen und mir vielleicht helfen, warum der ESP32 
Sonderzeichen sendet? Prinzipiell sollte die Resetschaltung 
funktionieren, da ich mich an den Angaben von ESPRESSIF gehalten habe.

Das Kuriose daran ist aber, dass der ESP32 sich tatsächlich in den 
Programmiermodus versetzen lässt:
1
ts Jul 29 2019 12:21:46
2
3
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
4
waiting for download

Wie passt das zusammen oder übersehe ich hier etwas Grundlegendes?

MfG
Maximilian

von Paul (Gast)


Lesenswert?

Wie hast Du denn die Pins die etwas mit dem Booten zu tun haben (GPIO0, 
GPIO2, GPIO4, GPIO5, GPIO12, GPIO15) beschaltet?

von Maximilian (maximilian_h499)


Angehängte Dateien:

Lesenswert?

Danke für deine schnelle Antwort!
Genau so, wie sie laut dem Datenblatt beschalten werden sollen. Bis auf 
den JTAG Stecker habe ich das fast 1:1 übernommen.

LG

von Arno (Gast)


Lesenswert?

Ich bin ein bisschen verwirrt:

> ich kann den ESP32-WROOM nicht programmieren.
[...]
> dass der ESP32 sich tatsächlich in den Programmiermodus versetzen lässt:

Wenn der ESP32 sich in den Programmier-Modus versetzen lässt, warum 
kannst du ihn dann nicht programmieren?

> Kann das jemand bestätigen und mir vielleicht helfen, warum der ESP32 
Sonderzeichen sendet?

Ich vermute, da das zumindest immer gleich anfängt: Die Baudrate, mit 
der der ESP32 (nach dem "Bootscreen") sendet, passt nicht zu der, mit 
der du empfängst. Kannst ja mal verschiedene durchprobieren, vielleicht 
kommt dann irgendwann Klartext.

Ansonsten wäre mein nächster Schritt, nach RTCWDT_RTC_RESET zu suchen 
(µc.net, Suchmaschine, esp32.net)

MfG, Arno

von Maximilian (maximilian_h499)


Lesenswert?

Das habe ich vielleicht ein bisschen verwirrend geschrieben, gemeint 
habe ich damit, dass er sich wie gesagt aus der Arduino IDE mit dem 
Fehler
1
Failed to connect to ESP32: Timed out waiting for packet header

nicht programmieren lässt, aber trotzdem, wenn ich den Bootknopf 
betätige, auf den Download wartet.
1
ts Jul 29 2019 12:21:46
2
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
3
waiting for download

Baudrate war auch mein erster Gedanke, hat aber leider nichts gebracht, 
alle durch zu probieren.

Danke für den Tipp mit "RTCWDT_RTC_RESET", ich recherchiere in diese 
Richtung einmal und melde mich später.

LG

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.