I have a custom design using the ESP32-D0WD-V3 and am seeing a weird glitch on several I/O pins. It is causing me to not be able to flash the ESP32.
Here is a picture of the glitch that I am seeing.
Yellow Trace = VDD for Flash Chip (VDD_SDIO)
Green Trace = SPI Clock
Blue Trace = SPI MOSI
Red Trace = SPI MISO
The SPI MOSI trace shows a the glitch and then you can see the CLK and MISO lines immediately go high. This causes the SPI bus to not work and I am not able to flash the ESP32.
I have tried connecting the ESP32 directly to a 3.3V DC power supply with a current limit of 1A and I am still seeing this glitch so I don't think it's a problem with the power rails. I also think I have the correct decoupling capacitors for the power pins as shown in the picture below.
For the SPI Flash I am using a Winbond W25Q80DVSNIG and have 10K pullup resistors for the CS, HD, and WP pins of the flash as shown in the picture below.
Please help! I've been racking my brain for a week trying to figure out what is going on with this glitch.
Glitch on Several Pins
Re: Glitch on Several Pins
I think I figured out that it is now due to the Watchdog reset occurring continuously. Here's a serial print of the resets happening.
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
It continues on like this forever. Is there any way to disable the RTCWDT_RTC_RESET?
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
It continues on like this forever. Is there any way to disable the RTCWDT_RTC_RESET?
-
- Posts: 9764
- Joined: Thu Nov 26, 2015 4:08 am
Re: Glitch on Several Pins
That's the ESP trying to boot from the flash and failing (presumably because it's empty?); getting rid of the WDT isn't going to help you there.
How specifically are you flashing your board, and in what way does it fail?
How specifically are you flashing your board, and in what way does it fail?
Re: Glitch on Several Pins
I am solving exactly the same problem on a board where I have SoC ESP32 d3. I assume that after delivery from the vendor, there is a pre-burned bootloader in the processor to load the oem_firmware. However, after turning on the terminal I see the same output as in the previous post.
--- WARNING: GDB cannot open serial ports accessed as COMx
--- Using \\.\COM10 instead...
--- idf_monitor on \\.\COM10 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
--- WARNING: GDB cannot open serial ports accessed as COMx
--- Using \\.\COM10 instead...
--- idf_monitor on \\.\COM10 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jul 29 2019 12:21:46
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
ets Jul 29 2019 12:21:46
-
- Posts: 9764
- Joined: Thu Nov 26, 2015 4:08 am
Re: Glitch on Several Pins
I used to think that the bootloader is in the non-erasable part of the memory and it is possible to load the oem program via UART. However, if I am wrong , would that mean that I am unable to do anything without JTAG?
-
- Posts: 9764
- Joined: Thu Nov 26, 2015 4:08 am
Re: Glitch on Several Pins
Ah, okay, your 'pre-burned' wording put me on the wrong footing: there is indeed a bootloader in the ESP32, but it's not 'burned' in any way, it's included in the on-die ROM that is 'baked' into the chip; it's not flashable/burnable.
And you're actually looking at that bootloader, that is what's giving you the error, and it's complaining about empty flash. If you try to flash a program to it (and the serial port logic on your board has the correct conversion logic between DSR/DTR and IO0/EN), it should just work.
And you're actually looking at that bootloader, that is what's giving you the error, and it's complaining about empty flash. If you try to flash a program to it (and the serial port logic on your board has the correct conversion logic between DSR/DTR and IO0/EN), it should just work.
Who is online
Users browsing this forum: No registered users and 97 guests