Forum: Mikrocontroller und Digitale Elektronik Powerpins am ESP32-DevKitC, WDT_RTC_RESET


von Drago S. (mratix)


Lesenswert?

Hallo zusammen,

den ganzen Tag spiele ich mit einem ESP32-DevKitC V4 (ESP32-WROOM-32D) 
herum. Das Board ist nagelneu und wurde heute zum ersten mal angefasst.

Ich wollte damit die Performance von einem TFT Display testen. Aber 
weder am HSPI/VSPI und deren Standard GPIOs bekam ich es zum laufen. 
Kurzerhand nahm ich dann einen nRF24L01 zum Kreuztesten des SPI-Buses.

Folgender Ablauf:
1
# ganz normales Verhalten
2
21:12:09.558 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
3
21:12:09.558 -> configsip: 0, SPIWP:0xee
4
21:12:09.558 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
5
21:12:09.558 -> mode:DIO, clock div:1
6
21:12:09.558 -> load:0x3fff0018,len:4
7
21:12:09.558 -> load:0x3fff001c,len:1044
8
21:12:09.558 -> load:0x40078000,len:10124
9
21:12:09.558 -> load:0x40080400,len:5856
10
21:12:09.558 -> entry 0x400806a8
11
12
# SPI device wird angeschlossen
13
21:14:30.484 -> ets Jun  8 2016 00:22:57
14
21:14:30.484 -> 
15
21:14:30.484 -> rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
16
21:14:30.518 -> flash read err, 1000
17
21:14:30.518 -> ets_main.c 371 
18
21:14:30.849 -> ets Jun  8 2016 00:22:57
19
21:14:30.849 -> 
20
21:14:30.849 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
21
21:14:30.849 -> flash read err, 1000
22
21:14:30.849 -> ets_main.c 371 
23
21:14:31.214 -> ets Jun  8 2016 00:22:57
24
21:14:31.214 -> 
25
# der WDT reset wiederholt sich unendlich, angeblich wirft die RTC, resultiert dann im -> flash read err, 1000
26
27
# SPI device trennen (nur Vcc abstecken)
28
21:14:42.747 -> 
29
21:14:42.747 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
30
21:14:42.747 -> configsip: 0, SPIWP:0xee
31
21:14:42.747 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
32
21:14:42.747 -> mode:DIO, clock div:1
33
21:14:42.780 -> load:0x3fff0018,len:4
34
21:14:42.780 -> load:0x3fff001c,len:1044
35
21:14:42.780 -> load:0x40078000,len:10124
36
21:14:42.780 -> load:0x40080400,len:5856
37
21:14:42.780 -> entry 0x400806a8
38
# und wieder kehrt normales Verhalten zurück

Als ich dann Pin für Pin abzog, um den Verursacher zu finden, stellte 
sich folgendes heraus: sobald 5V oder 3V3 angezapft werden, wirft es 
sofort den RTCWDT_RTC_RESET.

Gespeist wird das DevBoard über USB, eingebauten USB-Hub im Monitor. Er 
liefert mind. 1A per Port. An den Powerpins liegt natürlich die Spannung 
3.3/4.83V an.

Was stimmt mit dem DevBoard nicht?
Müssen irgendwelche Fuses umgebogen werden?

von John Doe (Gast)


Lesenswert?

Welche Pins nutzt Du denn explizit?

Dein Fehler tritt jedenfalls auf, wenn Du die Pins vom externen Flash 
nutzt:
"Pins SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 and SCS/CMD, namely, 
GPIO6 to GPIO11 are connectedto the integrated SPI flash integrated on 
the module and are not recommended for other uses."

von John Doe (Gast)


Lesenswert?

Wichtig ist auch noch, dass GPIO12 auf Low ist beim Booten, sonst 
bekommt der Flash nur 1,8V und dann kommt auch der Flash Read Error.

Beim ESP32 sind leider haufenweise Pins nicht frei nutzbar, daher 
unbedingt ins Datenblatt vom ESP und vom Modul schauen, was geht.

von John Doe (Gast)


Lesenswert?

John Doe schrieb:
> Wichtig ist auch noch, dass GPIO12 auf Low ist beim Booten, sonst

sollte IO12 (Pin14) heissen...

von Drago S. (mratix)


Lesenswert?

John Doe schrieb:
> Wichtig ist auch noch, dass GPIO12 auf Low ist beim Booten, sonst
> bekommt der Flash nur 1,8V und dann kommt auch der Flash Read Error.
Huh da hat gleich was gezuckt.

Ich habe das Standardschema / Definition beibehalten, den Pinout doppelt 
studiert, nichts um-defined.
HSPI: MISO 12, MOSI 13, SCK 14, SS 15
VSPI: MISO 19, MOSI 23, SCK 18, SS 5

Das Display hat zwischendrin Lebenszeichen gegeben und ein paar 
vermurkste Inhalte ausgegeben. Dann habe ich weiter noch den IRQ 
einbezogen und Touch auf die analogen 36 bis 33 gelegt. Und eben noch 
ein paar Experimente mit der ILI9341 und TFT_spi durchgearbeitet...

Irgendwann kam nur noch der Watchdog.
Ich werde morgen die einzelnen GPIOs unabhängig von SPI auf Funktion 
testen.

von Drago S. (mratix)


Angehängte Dateien:

Lesenswert?

Da fällt mir noch ein, in der TFT_espi habe ich den Bus von 26 MHz auf 
40 MHz hochgeschraubt.

Könnte das eine Fehlerquelle bzw. Auslöser sein?

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.