ESP-WROOM-32 Bootstrapping

connor
Posts: 6
Joined: Fri Sep 29, 2017 6:35 pm

ESP-WROOM-32 Bootstrapping

Postby connor » Fri Sep 29, 2017 6:43 pm

Hello,

I've got a few questions relating to the bootstrapping pins on the ESP module.

Specifically:

1) What is the purpose of the "timing of SDIO slave" strapping pins? I am guessing that the state of these doesn't really matter as it can also be configured in FW. But how can the flash memory properly configure the state of these registers on bootup if the proper configuration is required for the flash to communicate with the esp32 in the first place?

2) Similar question about "Voltage of Internal LDO (VDD_SDIO)". From my research it appears that all the flash memory modules included in the ESP-WROOM-32 module will be of the 3.3V variety. Is this configuration also managed by FW in addition to the MTDI pin? How can that happen if the voltage needs to be correct for the flash module to work? For example, if the MTDI pin was pulled high on bootup, thus selecting a 1.8V VDD_SDIO voltage level, would the flash memory overwrite that and force a 3.3V VDD_SDIO?

Thanks,
Connor

ESP_Sprite
Posts: 9757
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP-WROOM-32 Bootstrapping

Postby ESP_Sprite » Sat Sep 30, 2017 1:11 am

1. It's only used in SDIO boot mode, which is a mode where the ESP32 does not boot from external flash but from its SDIO interface; a host machine should send it data. Because there's no firmware running at that moment, the configuration has to be done using bootstrap pins.

2. If the flash voltage is too low, the chip usually isn't able to load firmware, crashing it before the firmware can take control. In theory, we could make firmware that selects 3.3V after booting, but we haven't bothered because a construction like that would be really brittle if it worked at all.

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: ESP-WROOM-32 Bootstrapping

Postby WiFive » Sat Sep 30, 2017 4:12 am

You can force vdd_sdio in efuse. There is small delay between reading strapping pin and efuse so impact on flash startup time is unclear.

connor
Posts: 6
Joined: Fri Sep 29, 2017 6:35 pm

Re: ESP-WROOM-32 Bootstrapping

Postby connor » Sat Sep 30, 2017 9:01 pm

ESP_Sprite wrote:1. It's only used in SDIO boot mode, which is a mode where the ESP32 does not boot from external flash but from its SDIO interface; a host machine should send it data. Because there's no firmware running at that moment, the configuration has to be done using bootstrap pins.

2. If the flash voltage is too low, the chip usually isn't able to load firmware, crashing it before the firmware can take control. In theory, we could make firmware that selects 3.3V after booting, but we haven't bothered because a construction like that would be really brittle if it worked at all.
Thanks,

Just to make sure that I properly understand, is this correct:

1) The serial flash uses the same 6 physical pins (GPIO's 6-11) as the SDIO interface, but does not use the SDIO interface itself. The serial flash uses the quad SPI interface via the SPI0 module. Thus, the configuration of the bootstrap pins for timing of SDIO slave have no effect on the serial flash interface, or the rest of the processor when operating from serial flash. I can safely not worry about the state of the MTDO or GPIO5 pins at startup.

2) The processor will crash when it can't load firmware, triggering the watch dog timer causing a continuous reset until the firmware can be properly loaded (I.e. the MTDI pin is pulled low and 3.3V is selected for the VDD_SDIO). Does the ESP-WROOM-32 always ship with 3.3V Serial flash?

Is my understanding correct?

ESP_Sprite
Posts: 9757
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP-WROOM-32 Bootstrapping

Postby ESP_Sprite » Sun Oct 01, 2017 2:32 am

Your understanding is correct, and the WROOM32 is shipped with 3.3V flash (In contrast to the WROVER module, which because of psram limitations has 1.8V flash.)

connor
Posts: 6
Joined: Fri Sep 29, 2017 6:35 pm

Re: ESP-WROOM-32 Bootstrapping

Postby connor » Mon Oct 02, 2017 5:42 pm

Great, thanks very much!

-Connor

Who is online

Users browsing this forum: No registered users and 134 guests