Problem uploading to ESP32-CAM with ESP-Prog

Using PlatformIO in VSCode with an ESP-Prog connected to ESP32-CAM module. When I started working with this project, I could Upload to the ESP32-CAM without pulling the GPIO0 to GND, now I find I need to do that each time to upload my code.

Is there a setting I can use to get around this?
Sid

I simply cannot get flashing or debugging of ESP32-CAM working with PlatformIO in VSCode. The only way to flash is as described in my original post, i.e. hold GPIO0 low and power-cycle the ESP32-CAM. The power cycle is required because the reset button is pretty much inaccessible when the module is mounted on a breadboard. Even using this “trick” I cannot get the debugger to work at all.

Has anyone succeeded in flashing and debugging ESP32-CAM with VSCode, PlatformIO, and ESP-Prog? If you have any pointers you have would be very much appreciated. I cannot imagine doing my project with the println debugging as my only choice, that is why I chose PlatformIO.

Many thanks, I hope the community can help :slight_smile:

Does it behave the same in the Arduino IDE? Which settings do you use there?

Hi @maxgerhardt I think part of the issue is that the ESP32-CAM has an SDCard onboard, and it uses the same pins as JTAG. I am basing my project on one that uses the SDCard so I am currently removing the SDCard code since I do not need it for my application.

I will report back here when I have done that on any progress made.

Many thanks.

1 Like

Things appear to be better. Here is the log when trying to start debugging. There appear to be a number of issues, but I don’t know what they mean:

Processing esp32_snapshotcam (platform: espressif32; board: esp32cam; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
PLATFORM: Espressif 32 (4.3.0) > AI Thinker ESP32-CAM
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (cmsis-dap, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20003.0 (2.0.3)
 - tool-esptoolpy @ 1.30300.0 (3.3.0)
 - tool-openocd-esp32 @ 2.1100.20220411 (11.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
Converting ESP32-snapshot.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoOTA @ 2.0.0
|   |-- Update @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- ESPmDNS @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|-- DNSServer @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- ESPmDNS @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- SPIFFS @ 2.0.0
|   |-- FS @ 2.0.0
Building in debug mode
Compiling .pio\build\esp32_snapshotcam\src\Docs\linearled\linearled.c.o
Compiling .pio\build\esp32_snapshotcam\src\ESP32-snapshot.ino.cpp.o
Compiling .pio\build\esp32_snapshotcam\src\app_httpd.cpp.o
Compiling .pio\build\esp32_snapshotcam\src\src\jsonlib\jsonlib.cpp.o
Compiling .pio\build\esp32_snapshotcam\src\src\parsebytes.cpp.o
Compiling .pio\build\esp32_snapshotcam\src\storage.cpp.o
Generating partitions .pio\build\esp32_snapshotcam\partitions.bin
Compiling .pio\build\esp32_snapshotcam\libf3a\Update\HttpsOTAUpdate.cpp.o
Compiling .pio\build\esp32_snapshotcam\libf3a\Update\Updater.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFi.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiClient.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiMulti.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiSTA.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiScan.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiServer.cpp.o
Compiling .pio\build\esp32_snapshotcam\libd31\WiFi\WiFiUdp.cpp.o
Compiling .pio\build\esp32_snapshotcam\libb4f\ESPmDNS\ESPmDNS.cpp.o
Compiling .pio\build\esp32_snapshotcam\lib963\ArduinoOTA\ArduinoOTA.cpp.o
Compiling .pio\build\esp32_snapshotcam\lib440\DNSServer\DNSServer.cpp.o
Compiling .pio\build\esp32_snapshotcam\libfd6\FS\FS.cpp.o
Archiving .pio\build\esp32_snapshotcam\libf3a\libUpdate.a
Compiling .pio\build\esp32_snapshotcam\libfd6\FS\vfs_api.cpp.o
Indexing .pio\build\esp32_snapshotcam\libf3a\libUpdate.a
Compiling .pio\build\esp32_snapshotcam\libe11\SPIFFS\SPIFFS.cpp.o
Archiving .pio\build\esp32_snapshotcam\libFrameworkArduinoVariant.a
Indexing .pio\build\esp32_snapshotcam\libFrameworkArduinoVariant.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\Esp.cpp.o
Archiving .pio\build\esp32_snapshotcam\libb4f\libESPmDNS.a
Archiving .pio\build\esp32_snapshotcam\libd31\libWiFi.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\FirmwareMSC.cpp.o
Indexing .pio\build\esp32_snapshotcam\libb4f\libESPmDNS.a
Indexing .pio\build\esp32_snapshotcam\libd31\libWiFi.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\FunctionalInterrupt.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\HWCDC.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\IPv6Address.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\MD5Builder.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\Print.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\StreamString.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\USB.cpp.o
Archiving .pio\build\esp32_snapshotcam\lib440\libDNSServer.a
Indexing .pio\build\esp32_snapshotcam\lib440\libDNSServer.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\USBCDC.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\USBMSC.cpp.o
Archiving .pio\build\esp32_snapshotcam\lib963\libArduinoOTA.a
Indexing .pio\build\esp32_snapshotcam\lib963\libArduinoOTA.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\WString.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\base64.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\cbuf.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-adc.c.o
Archiving .pio\build\esp32_snapshotcam\libfd6\libFS.a
Indexing .pio\build\esp32_snapshotcam\libfd6\libFS.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-bt.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-cpu.c.o
Archiving .pio\build\esp32_snapshotcam\libe11\libSPIFFS.a
Indexing .pio\build\esp32_snapshotcam\libe11\libSPIFFS.a
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-dac.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-gpio.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-i2c-slave.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-i2c.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-ledc.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-matrix.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-misc.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-psram.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-rmt.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-sigmadelta.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-spi.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-time.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-timer.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-tinyusb.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-touch.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\esp32-hal-uart.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\firmware_msc_fat.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\libb64\cdecode.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\libb64\cencode.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\main.cpp.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\stdlib_noniso.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\esp32_snapshotcam\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\esp32_snapshotcam\libFrameworkArduino.a
Indexing .pio\build\esp32_snapshotcam\libFrameworkArduino.a
Linking .pio\build\esp32_snapshotcam\firmware.elf
Retrieving maximum program size .pio\build\esp32_snapshotcam\firmware.elf
Checking size .pio\build\esp32_snapshotcam\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  17.9% (used 58552 bytes from 327680 bytes)
Flash: [===       ]  32.7% (used 1028065 bytes from 3145728 bytes)
Building .pio\build\esp32_snapshotcam\firmware.bin
esptool.py v3.3
Creating esp32 image...
Merged 25 ELF sections
Successfully created esp32 image.
========================= [SUCCESS] Took 20.30 seconds =========================
undefinedC:\Users\sidpr\.platformio\packages\toolchain-xtensa-esp32@8.4.0+2021r2-patch3\bin\xtensa-esp32-elf-gdb.exe: warning: Couldn't determine a path for the index cache directory.
Reading symbols from d:\DataRoot\Projects\Espressif\ESP32-snapshot\.pio\build\esp32_snapshotcam\firmware.elf...
PlatformIO Unified Debugger -> https://bit.ly/pio-debug
PlatformIO: debug_tool = esp-prog
PlatformIO: Initializing remote target...
Open On-Chip Debugger  v0.11.0-esp32-20220411 (2022-04-11-08:48)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
adapter speed: 20000 kHz

WARNING: boards/esp-wroom-32.cfg is deprecated, and may be removed in a future release.
DEPRECATED! use 'adapter speed' not 'adapter_khz'
adapter speed: 5000 kHz

Info : tcl server disabled
Info : telnet server disabled
Info : clock speed 5000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : starting gdb server for esp32.cpu0 on pipe
Info : accepting 'gdb' connection from pipe
Info : esp32.cpu0: Target halted, PC=0x400093D0, debug_reason=00000000
Info : Set GDB target to 'esp32.cpu0'
Info : esp32.cpu1: Target halted, PC=0x400076E2, debug_reason=00000000
Warn : No symbols for FreeRTOS!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Error: Failed to get flash maps (4294967295)!
Warn : Failed to get flash mappings (-4)!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : Auto-detected flash bank 'esp32.cpu0.flash' size 4096 KB
Info : Using flash bank 'esp32.cpu0.flash' size 4096 KB
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Error: Failed to get flash maps (4294967295)!
Warn : Failed to get flash mappings (-4)!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : Using flash bank 'esp32.cpu0.irom' size 0 KB
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Error: Failed to get flash maps (4294967295)!
Warn : Failed to get flash mappings (-4)!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : Using flash bank 'esp32.cpu0.drom' size 0 KB
Info : New GDB Connection: 1, Target esp32.cpu0, state: halted
0x400093d0 in ?? ()
Loading section .flash.appdesc, size 0x100 lma 0x3f400020
Warn : address 0x3f400020 not writable
Loading section .flash.rodata, size 0x38624 lma 0x3f400120
Warn : address 0x3f400120 not writable
.pioinit:12: Error in sourced command file:
Load failed
.pioinit:12: Error in sourced command file:
Load failed

Can you set debug_speed = 500 in the platformio.ini and see if it gets better?

Hi @maxgerhardt Some progress to report:

First, I could not get the Arduino to upload code to the ESP32-CAM without manually operating Reset and GPIO0. I connected GPIO0 to the DTR output of my serial adapter and this resolved (for Arduino IDE) needing to manually ground GPIO0. However, the ESP32-CAM module I was using did not expose the Reset signal. What I found is that not all ESP32-CAM modules are created equal! I swapped for another module that did expose Reset and connected that to the RTS output of my serial adapter. These two changes made the module programmable using the Arduino IDE without manual reset or GPIO0 grounding.

Unfortunately, flashing from PlatformIO (using the same serial) did not completely work. The flashing worked but the module is not being reset after programming is done. I need to investigate a littel more, but this does look like a PlatformIO problem.

Will report back later.

@maxgerhardt Yes the issue is from PlatformIO. I placed my oscilloscope on the Reset and GPIO0 signals and observed them when the flashing was done with the Arduino IDE. I saw what I expected from both signals, however when the PlatformIO “Upload and Monitor” command was used, the signals look right at the start, however, when the Monitor was started both Reset and GPIO0 were being held low.

In fact the issue appears to be the “Monitor” command of PlatformIO, after a simple “Upload” the Reset and GPIO0 signals appear correct.

Not sure where to investigate further, advice would be much appreciated.

I have not yet done the same test in PlatformIO with ESP-Prog and JTAG. Will do that later.

@maxgerhardt So, I switched to using the ESP-Prog JTAG debug interface and I am able to start debugging, set breakpoints, and step the simple blink sketch.

However, the “Monitor” command still places the target board into Reset with GPIO0 also low.

So I am convinced this is a bug in PlatformIO. I would love to dig further but I am just not sure where in the PlatformIO codebase to even begin looking.

Are there documents that would help me understand where to begin looking. Having come this far I would really like to continue digging into the issue.

The DTR/RTS line when the Monitor is open can be controlled with Redirecting..., see e.g. Noob stuck on ESP32-CAM+MB with PIO/vscode - #5 by maxgerhardt

1 Like

@maxgerhardt Excellent … I will try that later, thanks for the continued help :slight_smile:

@maxgerhardt Many, many thanks. I added control of the Monitor Initial State dor RTS and DTR and now with my simple test program I am able to Upload, Monitor, and Debug the code using ESP-Prog.

I am going to try and find some time to write a blog post on the setup, I am sure it will be useful to others trying to write custom code for the ESP32-CAM.

Excellent Community help!

@maxgerhardt Sorry to trouble you again but the use of ESP-Prog seems very unreliable. This afternoon I cleaned up the breadboard that connects the ESP-Prog (JTAG and Serial) to the ESP32-CAM. Initially all was looking good, “Upload and Monitor” seemed to work fine. I tried to use “Start debugging” and the startup failed. Just to double check the JTAG and Serial connections I tried to do “Upload and Monitor” again and that now fails. I have power-cycled the ESP-Prog and the ESP32-CAM several times, also I have restarted VSCode, by the problem remains, I cannot “Upload and Monitor” my very simple sketch.

Here is the task output:

> Executing task in folder Word-Blink-esp32cam: C:\Users\sidpr\.platformio\penv\Scripts\platformio.exe run --target upload --target monitor --environment esp32cam <

Processing esp32cam (platform: espressif32; board: esp32cam; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
PLATFORM: Espressif 32 (4.3.0) > AI Thinker ESP32-CAM
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (cmsis-dap, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20003.0 (2.0.3)
 - tool-esptoolpy @ 1.30300.0 (3.3.0)
 - tool-mkfatfs @ 2.0.1
 - tool-mklittlefs @ 1.203.210628 (2.3)
 - tool-mkspiffs @ 2.230.0 (2.30)
 - tool-openocd-esp32 @ 2.1100.20220411 (11.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
Converting Blink.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
No dependencies
Building in debug mode
Compiling .pio\build\esp32cam\src\Blink.ino.cpp.o
Retrieving maximum program size .pio\build\esp32cam\firmware.elf
Checking size .pio\build\esp32cam\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   5.0% (used 16472 bytes from 327680 bytes)
Flash: [=         ]   7.9% (used 249333 bytes from 3145728 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esp-prog
Uploading .pio\build\esp32cam\firmware.bin
Open On-Chip Debugger  v0.11.0-esp32-20220411 (2022-04-11-08:48)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
debug_level: 1

adapter speed: 20000 kHz

WARNING: boards/esp-wroom-32.cfg is deprecated, and may be removed in a future release.
DEPRECATED! use 'adapter speed' not 'adapter_khz'
adapter speed: 5000 kHz

Error: Too many flash mappings 393251! Must be 2.
Warn : Failed to get flash mappings (-4)!
Error: Failed to get flash size!
Error: Failed to get flash size!
Error: Failed to probe flash, size 0 KB
Error: auto_probe failed
Error: Failed to find bank 'esp32.cpu0.flash'!

*** [upload] Error 1

Can you reduce adapter speed a bit? Add debug_speed = 500 into the platformio.ini.

I can certainly try that; however, it is working again now. I switched to Arduino IDE to check if it was able to upload the code and it did right away. When I switched back to PIO it has worked since.

Next time it occurs I will lower the debug speed. Although I suspect that is not the issue.

I started work with PlatformIO again this afternoon and while Upload and Monitor is working the first time I tried to start debugging it failed like above.

I added the line “debug_speed = 500” to platformIO.ini, but this did not resolve the issue.

Running the simple sketch with the Arduino IDE did not resolve the issue this time, that must have been a coincidence.

Here is the debug log I see:

Processing esp32cam (platform: espressif32; board: esp32cam; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
PLATFORM: Espressif 32 (4.3.0) > AI Thinker ESP32-CAM
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (cmsis-dap, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20003.0 (2.0.3)
 - tool-esptoolpy @ 1.30300.0 (3.3.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
Converting Blink.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 32 compatible libraries
Scanning dependencies...
No dependencies
Building in debug mode
Compiling .pio\build\esp32cam\src\Blink.ino.cpp.o
Generating partitions .pio\build\esp32cam\partitions.bin
Archiving .pio\build\esp32cam\libFrameworkArduinoVariant.a
Indexing .pio\build\esp32cam\libFrameworkArduinoVariant.a
Compiling .pio\build\esp32cam\FrameworkArduino\Esp.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\FirmwareMSC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\FunctionalInterrupt.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\HWCDC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\IPv6Address.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\MD5Builder.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\Print.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\StreamString.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\USB.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\USBCDC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\USBMSC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\WString.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\base64.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\cbuf.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-adc.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-bt.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-cpu.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-dac.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-gpio.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-i2c-slave.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-i2c.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-ledc.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-matrix.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-misc.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-psram.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-rmt.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-sigmadelta.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-spi.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-time.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-timer.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-tinyusb.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-touch.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-uart.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\firmware_msc_fat.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\libb64\cdecode.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\libb64\cencode.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\main.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\stdlib_noniso.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\esp32cam\libFrameworkArduino.a
Indexing .pio\build\esp32cam\libFrameworkArduino.a
Linking .pio\build\esp32cam\firmware.elf
Retrieving maximum program size .pio\build\esp32cam\firmware.elf
Checking size .pio\build\esp32cam\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   5.0% (used 16472 bytes from 327680 bytes)
Flash: [=         ]   7.9% (used 249333 bytes from 3145728 bytes)
Building .pio\build\esp32cam\firmware.bin
esptool.py v3.3
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
========================= [SUCCESS] Took 10.99 seconds =========================
undefinedC:\Users\sidpr\.platformio\packages\toolchain-xtensa-esp32@8.4.0+2021r2-patch3\bin\xtensa-esp32-elf-gdb.exe: warning: Couldn't determine a path for the index cache directory.
Reading symbols from d:\DataRoot\Projects\Espressif\Word-Blink-esp32cam\.pio\build\esp32cam\firmware.elf...
PlatformIO Unified Debugger -> https://bit.ly/pio-debug
PlatformIO: debug_tool = esp-prog
PlatformIO: Initializing remote target...
Open On-Chip Debugger  v0.11.0-esp32-20220411 (2022-04-11-08:48)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
adapter speed: 20000 kHz

WARNING: boards/esp-wroom-32.cfg is deprecated, and may be removed in a future release.
DEPRECATED! use 'adapter speed' not 'adapter_khz'
adapter speed: 500 kHz

Info : tcl server disabled
Info : telnet server disabled
Info : clock speed 500 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : esp32.cpu0: Debug controller was reset.
Info : esp32.cpu0: Core was reset.
Info : esp32.cpu1: Debug controller was reset.
Info : esp32.cpu1: Core was reset.
Info : starting gdb server for esp32.cpu0 on pipe
Info : accepting 'gdb' connection from pipe
Info : esp32.cpu0: Target halted, PC=0x400EDF4E, debug_reason=00000000
Info : Set GDB target to 'esp32.cpu0'
Info : esp32.cpu1: Target halted, PC=0x400EDF4E, debug_reason=00000000
Warn : No symbols for FreeRTOS!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Error: Failed to get flash maps (4294967290)!
Warn : Failed to get flash mappings (-4)!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : Auto-detected flash bank 'esp32.cpu0.flash' size 4096 KB
Info : Using flash bank 'esp32.cpu0.flash' size 4096 KB
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Error: Failed to get flash maps (4294967290)!
Warn : Failed to get flash mappings (-4)!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : Using flash bank 'esp32.cpu0.irom' size 0 KB
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Error: Failed to get flash maps (4294967290)!
Warn : Failed to get flash mappings (-4)!
Info : esp32.cpu0: Target halted, PC=0x4009260E, debug_reason=00000001
Info : Using flash bank 'esp32.cpu0.drom' size 0 KB
Info : New GDB Connection: 1, Target esp32.cpu0, state: halted
Warn : negative reply, retrying
0x400edf4e in ?? ()
Error: Too large number of threads 4294967295!
Loading section .flash.appdesc, size 0x100 lma 0x3f400020
Warn : address 0x3f400020 not writable
Loading section .flash.rodata, size 0xce54 lma 0x3f400120
Warn : address 0x3f400120 not writable
.pioinit:12: Error in sourced command file:
Load failed
.pioinit:12: Error in sourced command file:
Load failed