Hallo, ich habe soeben meine Bestellung mehrerer ESP32 erhalten. (https://www.conrad.at/de/p/espressif-entwicklungswerkzeug-esp32-devkitc-ver-d-1925469.html#productDownloads) Jedoch habe ich Probleme, etwas hochzuladen - nicht einmal das Blink Programm funktioniert. Ich habe bereits mehrere ESPs und mehrere Kabel ausprobiert. Ich habe den Code sowohl über PlatformIO als auch mittels Arduino IDE hochgeladen. Um zu sehen, ob der ESP überhaupt irgend etwas macht habe ich dann den seriellen Monitor geöffnet und folgende Fehlermeldung wird im Sekundentakt ausgegeben: rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1344 load:0x40078000,len:13864 load:0x40080400,len:3608 entry 0x400805f0 Die Upload Message sieht folgendermaßen aus: Serial port COM8 Connecting..... Chip is ESP32-D0WD (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: e8:31:cd:14:42:54 Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Flash will be erased from 0x00001000 to 0x00005fff... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x0000e000 to 0x0000ffff... Flash will be erased from 0x00010000 to 0x0004bfff... Flash params set to 0x022f Compressed 18880 bytes to 12992... Writing at 0x00001000... (100 %) Wrote 18880 bytes (12992 compressed) at 0x00001000 in 0.4 seconds (effective 390.3 kbit/s)... Hash of data verified. Compressed 3072 bytes to 128... Writing at 0x00008000... (100 %) Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.1 seconds (effective 455.3 kbit/s)... Hash of data verified. Compressed 8192 bytes to 47... Writing at 0x0000e000... (100 %) Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 696.2 kbit/s)... Hash of data verified. Compressed 243056 bytes to 134364... Writing at 0x00010000... (11 %) Writing at 0x0001dcfb... (22 %) Writing at 0x00024731... (33 %) Writing at 0x0002992c... (44 %) Writing at 0x0002ecd0... (55 %) Writing at 0x000374c6... (66 %) Writing at 0x0003f544... (77 %) Writing at 0x00044b26... (88 %) Writing at 0x0004a2d5... (100 %) Wrote 243056 bytes (134364 compressed) at 0x00010000 in 2.7 seconds (effective 714.1 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... Einmal habe ich auch ausprobiert ein Serial.begin und ein Serial.print direkt am Start des Setups einzubauen. Hierbei wurden die ersten beiden Buchstaben des print statements geprintet, anschließen kam wieder besagte Fehlermeldung. Weiß hier jemand, was ich falsch mache bzw. was das Problem sein könnte? Zu dem Fehler 0x08 habe ich leider noch nichts passendes gefunden.
Der Watchdog Timer löst einen Reset aus, weil sich der Chip auf gehangen hat. Überprüfe die Stromversorgung mit einem Oszilloskop. Und zeige mal dein Programm, das könnte auch Schuld sein. ESP sind nicht ganz so einfach zu programmieren, wie Arduino UNO. Ich weiß nicht wie viel du in der IDE konfigutieren kannst. Beim ESP8266 gibt es mehrere Zugriffsarten (QIO, DIO, QOUT, DOUT) und zwei Bitraten für den Flash Speicher einzustellen. Manche Speicher unterstützen nicht alle 4 Modi und laufen bei der maximalen Bitrate unzuverlässig.
:
Bearbeitet durch User
Leider habe ich gerade kein Oszilloskop zur Verfügung. Der ESP wird mittels USB Kabel versorgt und es hängt sonst kein Verbraucher am ESP. Wenn ich die Spannungsversorgung zusätzlich mittels Vin Pin sicherstelle, ändert das leider nichts daran. Das Programm ist ein einfaches Programm, welches eine LED zum Blinken bringen soll. Ich denke nicht, dass hier Fehler sein könnten. Ich habe bereits vor mehreren Monaten mit ESP32 gearbeitet, welche ich damals auf Amazon bestellt habe. Dieses Blink Programm und auch andere, komplexere Programme habe ich mühelos am ESP ausführen können. Auch beim ESP32 kann man die Zugriffsarten und die Bitraten für den Speicher festlegen. Ich habe soeben alle Möglichkeiten durchprobiert - es hat leider nichts funktioniert. Wie bereits oben erwähnt habe ich zu Beginn der Setup Funktion ein Serial.println("Start"); eingebunden. Dieses gibt "St" aus und anschließend besagte Fehlermeldung. Das müsste doch heißen, dass das Programm hochgeladen wurde und soweit funktionieren sollte, oder? Trotzdem danke schonmal für die schnelle Antwort :)
Jonas A. schrieb: > Das Programm ist ein einfaches Programm, welches eine LED zum Blinken > bringen soll. Ich denke nicht, dass hier Fehler sein könnten. Oh doch, wenn man es falsch macht bringt man den ESP damit ganz leicht gezielt zum Reset. Also: Zeige dein Programm! > Ich denke nicht, dass hier Fehler sein könnten Dir ist aber schon klar, dass der Fehler irgendwo steckt, wo du gerade nicht dran denkst? Weil: Sonst hättest du es bereits selbst gelöst. Jonas A. schrieb: > Dieses gibt "St" aus und > anschließend besagte Fehlermeldung. Das müsste doch heißen, dass das > Programm hochgeladen wurde und soweit funktionieren sollte, oder? Es kann trotzdem teilweise fehlerhaft geladen werden. Bedenke, dass das Programm Stückweise aus dem externen Flash Chip ins RAM kopiert wird, und erst dann ausgeführt wird. Es kann aber wie gesagt auch ein ganz simpler Programmierfehler sein, deswegen lass mich da mal rein gucken. Wenn was mit der Hardware ist, dann meistens zu schwache Stromversorgung. Häufig wegen schlechter Kontakte in Steckverbindungen (auch Steckbretter) oder Kabel und Stecker aus Eisen statt Kupfer. Defekte verkaufte ESP Module sind hingegen sehr selten.
:
Bearbeitet durch User
Danke für deine Antwort, ich habe das Problem mittlerweile alleine gelöst. Ich bin gerade alle Einstellungen in der Arduino IDE durchgegangen, bis es geklappt hat. Im Anhang ist ein Screenshot der Arduino IDE Tools Einstellungen. Und hier wäre der Code, welcher nun einwandfrei läuft: [c] #define LED_PIN 26 void setup() { Serial.begin(115200); Serial.println("START!"); pinMode(LED_PIN, OUTPUT); } void loop() { Serial.println("Loop"); digitalWrite(LED_PIN, HIGH); delay(500); digitalWrite(LED_PIN, LOW); delay(500); } [c] Ich weiß zwar noch nicht, weshalb es zuvor nicht funktioniert hat, jedoch läuft er jetzt und ich werde dem nicht weiter nachgehen.
:
Bearbeitet durch User
bei dem Conrad Apothekenpreis von 19€ für so ein Board sollte das schon was edles sein... Allerdings ist das ESP Modul schon alt, neue sind Version 3. Wurde der flash clock geändert? Default sind doch 40 MHz, also div:2, so ist es bei meinem NodeMCU32S. Das läuft allerdings auch mit div:1. Vielleicht mal board_build.f_flash = 40000000L (edit: 40 Mhz sollte es sein, das ist default) in die pio.ini schreiben. Oder wurde ein falsches Board ausgewählt? Langsam wird es ja unübersichtlich mit den ESP Varianten. Per SW habe ich so einen Fehler noch nicht hinbekommen, selbst eine infinite loop in loop() juckt den ESP32 nicht.
:
Bearbeitet durch User
Hallo, ich bin auf der Suche nach der Lösung für mein Problem auf diesen Post gestossen. Die Fehlermeldung die ich erhalte ich fast identisch (siehe unten). Ich nutze ein Wemos Lolin 32 Lite Bin dankbar für jeden Hinweis. Grüß Volker ------------------------------------------------------------------------ -- 16:26:32.842 -> rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) 16:26:32.875 -> configsip: 0, SPIWP:0xee 16:26:32.875 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 16:26:32.875 -> mode:DIO, clock div:1 16:26:32.875 -> load:0x3fff0030,len:1184 16:26:32.875 -> load:0x40078000,len:13132 16:26:32.875 -> load:0x40080400,len:3036 16:26:32.875 -> entry 0x400805e4 16:26:33.881 -> ets Jul 29 2019 12:21:46 -------------------------------------------------------------- Der Sketch verwendet 1076481 Bytes (82%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes. Globale Variablen verwenden 42208 Bytes (12%) des dynamischen Speichers, 285472 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes. "C:\Users\volke\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\ 4.2.1/esptool.exe" --chip esp32 --port "COM4" --baud 256000 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 "C:\Users\volke\AppData\Local\Temp\arduino-sketch-896902C07C0C0942FF6622 175248EFA9/RGB-LEDs.ino.bootloader.bin" 0x8000 "C:\Users\volke\AppData\Local\Temp\arduino-sketch-896902C07C0C0942FF6622 175248EFA9/RGB-LEDs.ino.partitions.bin" 0xe000 "C:\Users\volke\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2. 0.6/tools/partitions/boot_app0.bin" 0x10000 "C:\Users\volke\AppData\Local\Temp\arduino-sketch-896902C07C0C0942FF6622 175248EFA9/RGB-LEDs.ino.bin" esptool.py v4.2.1 Serial port COM4 Connecting.... Chip is ESP32-D0WD-V3 (revision 3) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: c0:49:ef:f1:7c:e4 Uploading stub... Running stub... Stub running... Changing baud rate to 256000 Changed. Configuring flash size... Flash will be erased from 0x00001000 to 0x00005fff... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x0000e000 to 0x0000ffff... Flash will be erased from 0x00010000 to 0x00118fff... Compressed 17440 bytes to 12108... Writing at 0x00001000... (100 %) Wrote 17440 bytes (12108 compressed) at 0x00001000 in 0.8 seconds (effective 167.6 kbit/s)... Hash of data verified. Compressed 3072 bytes to 146... Writing at 0x00008000... (100 %) Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.1 seconds (effective 295.2 kbit/s)... Hash of data verified. Compressed 8192 bytes to 47... Writing at 0x0000e000... (100 %) Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.2 seconds (effective 423.6 kbit/s)... Hash of data verified. Compressed 1082256 bytes to 685128... Writing at 0x00010000... (2 %) Writing at 0x0001acdc... (4 %) Writing at 0x000269f9... (7 %) Writing at 0x0003282a... (9 %) Writing at 0x00037e91... (11 %) Writing at 0x0003d7cd... (14 %) Writing at 0x00042d3a... (16 %) Writing at 0x0004863b... (19 %) Writing at 0x0004ddad... (21 %) Writing at 0x00052ef5... (23 %) Writing at 0x00059280... (26 %) Writing at 0x0005ebd7... (28 %) Writing at 0x0006463f... (30 %) Writing at 0x0006a1a1... (33 %) Writing at 0x0006fd7c... (35 %) Writing at 0x000756b2... (38 %) Writing at 0x0007afd7... (40 %) Writing at 0x000805ca... (42 %) Writing at 0x00085dcb... (45 %) Writing at 0x0008b479... (47 %) Writing at 0x00090eec... (50 %) Writing at 0x00096a44... (52 %) Writing at 0x0009d311... (54 %) Writing at 0x000a3720... (57 %) Writing at 0x000a8e9a... (59 %) Writing at 0x000aeb34... (61 %) Writing at 0x000b40af... (64 %) Writing at 0x000b978a... (66 %) Writing at 0x000bf170... (69 %) Writing at 0x000c5094... (71 %) Writing at 0x000cb42c... (73 %) Writing at 0x000d1166... (76 %) Writing at 0x000d6b2c... (78 %) Writing at 0x000dc43f... (80 %) Writing at 0x000e2107... (83 %) Writing at 0x000ea816... (85 %) Writing at 0x000f322e... (88 %) Writing at 0x000fb911... (90 %) Writing at 0x00102d21... (92 %) Writing at 0x0010836a... (95 %) Writing at 0x0010e18e... (97 %) Writing at 0x0011361d... (100 %) Wrote 1082256 bytes (685128 compressed) at 0x00010000 in 27.2 seconds (effective 318.4 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
Moment, meine Glaskugel streikt gerade. Ich sehe... ich sehe... leider nichts.
an den TO: Schreibe doch für alle lesbar, dass du den Flash-Modus QIO eingestellt hast und vorher DIO eingestellt war... (Das hätte Volker jetzt geholfen)
Bernhard S. schrieb: > Schreibe doch für alle lesbar, dass du den Flash-Modus QIO eingestellt > hast und vorher DIO eingestellt war... Ich denke, dass jeder Flash Speicher der QIO kann auch DIO kann. Aber das bringt mich auf eine Idee: Nicht jeder Flash Chip läuft mit 80 MHz zuverlässig.
Probier mal im Arduino: Tools->Erase All Flash Before Sketch Upload: Enabled und danach Tools->Flash Mode: DIO. Hat bei mir funktioniert.
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.