ESP32's internal boot ROM and UART1
Posted: Fri Sep 01, 2017 4:04 pm
Hello -
According to this post - viewtopic.php?f=12&t=297&p=1323#p1323 - UART1 can be utilized for bootstrapping the processor. Is this correct? The datasheet does not mention which UARTs are available for the ROM bootloader, but clues in the esp-idf library seem to indicate it's possible to use UART1 - for instance, the documentation around uart_buff_switch(...):
If this is truly a supported use case, it'd be good to update the documentation about the boot process to indicate UART0/UART1 are both available to boot the ROM code from. We've done some testing with a devkit based on the ESP-WROOM-S2 part, and it appears we can utilize the esptool.py to talk to the ROM code on UART1 (including uploading the stub bootloader), but since the flash technically uses these lines we did not attempt to program flash over this.
Additionally, the datasheet for the ESP32-D2WD indicates the pins for UART1 RX/TX are not utilized and that the SD card interface must be at 1.8V for the internal flash on this part. Does this mean that we could, with the ESP32-D2WD, utilize UART1 at 1.8V logic to program the flash on the ESP32-D2WD part? Will the ESP32-D2WD always utilize 1.8V logic for the internal flash on the part?
Thanks,
Tim
According to this post - viewtopic.php?f=12&t=297&p=1323#p1323 - UART1 can be utilized for bootstrapping the processor. Is this correct? The datasheet does not mention which UARTs are available for the ROM bootloader, but clues in the esp-idf library seem to indicate it's possible to use UART1 - for instance, the documentation around uart_buff_switch(...):
Code: Select all
/**
* @brief Switch message exchange channel for UART download booting.
* Please do not call this function in SDK.
*
* @param uint8_t uart_no : 0 for UART0, 1 for UART1.
*
* @return None
*/
void uart_buff_switch(uint8_t uart_no);
Additionally, the datasheet for the ESP32-D2WD indicates the pins for UART1 RX/TX are not utilized and that the SD card interface must be at 1.8V for the internal flash on this part. Does this mean that we could, with the ESP32-D2WD, utilize UART1 at 1.8V logic to program the flash on the ESP32-D2WD part? Will the ESP32-D2WD always utilize 1.8V logic for the internal flash on the part?
Thanks,
Tim