menu "Serial flasher config" config ESPTOOLPY_NO_STUB bool "Disable download stub" default "y" if IDF_TARGET_ESP32H2 && IDF_ENV_FPGA # TODO: IDF-4288 default "n" help The flasher tool sends a precompiled download stub first by default. That stub allows things like compressed downloads and more. Usually you should not need to disable that feature config ESPTOOLPY_OCT_FLASH depends on IDF_TARGET_ESP32S3 bool "Enable Octal Flash" default n choice ESPTOOLPY_FLASHMODE prompt "Flash SPI mode" default ESPTOOLPY_FLASHMODE_DIO default ESPTOOLPY_FLASHMODE_OPI if ESPTOOLPY_OCT_FLASH help Mode the flash chip is flashed in, as well as the default mode for the binary to run in. config ESPTOOLPY_FLASHMODE_QIO depends on !ESPTOOLPY_OCT_FLASH bool "QIO" config ESPTOOLPY_FLASHMODE_QOUT depends on !ESPTOOLPY_OCT_FLASH bool "QOUT" config ESPTOOLPY_FLASHMODE_DIO depends on !ESPTOOLPY_OCT_FLASH bool "DIO" config ESPTOOLPY_FLASHMODE_DOUT depends on !ESPTOOLPY_OCT_FLASH bool "DOUT" config ESPTOOLPY_FLASHMODE_OPI depends on ESPTOOLPY_OCT_FLASH bool "OPI" endchoice choice ESPTOOLPY_FLASH_SAMPLE_MODE prompt "Flash Sampling Mode" default ESPTOOLPY_FLASH_SAMPLE_MODE_DTR if ESPTOOLPY_OCT_FLASH default ESPTOOLPY_FLASH_SAMPLE_MODE_STR if !ESPTOOLPY_OCT_FLASH config ESPTOOLPY_FLASH_SAMPLE_MODE_STR bool "STR Mode" config ESPTOOLPY_FLASH_SAMPLE_MODE_DTR depends on ESPTOOLPY_OCT_FLASH bool "DTR Mode" endchoice # Note: we use esptool.py to flash bootloader in # dio mode for QIO/QOUT, bootloader then upgrades # itself to quad mode during initialisation config ESPTOOLPY_FLASHMODE string default "dio" if ESPTOOLPY_FLASHMODE_QIO default "dio" if ESPTOOLPY_FLASHMODE_QOUT default "dio" if ESPTOOLPY_FLASHMODE_DIO default "dout" if ESPTOOLPY_FLASHMODE_DOUT # The 1st and 2nd bootloader doesn't support opi mode, # using fastrd instead. For now the ESPTOOL doesn't support # fasted (see ESPTOOL-274), using dout instead. In ROM the flash mode # information get from efuse, so don't care this dout choice. default "dout" if ESPTOOLPY_FLASHMODE_OPI choice ESPTOOLPY_FLASHFREQ prompt "Flash SPI speed" default ESPTOOLPY_FLASHFREQ_40M if IDF_TARGET_ESP32 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C2 default ESPTOOLPY_FLASHFREQ_80M help The SPI flash frequency to be used. config ESPTOOLPY_FLASHFREQ_120M depends on IDF_TARGET_ESP32S3 && ESPTOOLPY_FLASH_SAMPLE_MODE_STR bool "120 MHz" config ESPTOOLPY_FLASHFREQ_80M bool "80 MHz" config ESPTOOLPY_FLASHFREQ_40M bool "40 MHz" config ESPTOOLPY_FLASHFREQ_26M bool "26 MHz" depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 config ESPTOOLPY_FLASHFREQ_20M bool "20 MHz" endchoice config ESPTOOLPY_FLASHFREQ string # On some of the ESP chips, max boot frequency would be equal to (or even lower than) 80m. # We currently define this to `80m`. default "80m" if ESPTOOLPY_FLASHFREQ_120M default "80m" if ESPTOOLPY_FLASHFREQ_80M default "40m" if ESPTOOLPY_FLASHFREQ_40M default "26m" if ESPTOOLPY_FLASHFREQ_26M default "20m" if ESPTOOLPY_FLASHFREQ_20M choice ESPTOOLPY_FLASHSIZE prompt "Flash size" default ESPTOOLPY_FLASHSIZE_2MB help SPI flash size, in megabytes config ESPTOOLPY_FLASHSIZE_1MB bool "1 MB" config ESPTOOLPY_FLASHSIZE_2MB bool "2 MB" config ESPTOOLPY_FLASHSIZE_4MB bool "4 MB" config ESPTOOLPY_FLASHSIZE_8MB bool "8 MB" config ESPTOOLPY_FLASHSIZE_16MB bool "16 MB" endchoice config ESPTOOLPY_FLASHSIZE string default "1MB" if ESPTOOLPY_FLASHSIZE_1MB default "2MB" if ESPTOOLPY_FLASHSIZE_2MB default "4MB" if ESPTOOLPY_FLASHSIZE_4MB default "8MB" if ESPTOOLPY_FLASHSIZE_8MB default "16MB" if ESPTOOLPY_FLASHSIZE_16MB config ESPTOOLPY_FLASHSIZE_DETECT bool "Detect flash size when flashing bootloader" default y help If this option is set, flashing the project will automatically detect the flash size of the target chip and update the bootloader image before it is flashed. choice ESPTOOLPY_BEFORE prompt "Before flashing" default ESPTOOLPY_BEFORE_RESET help Configure whether esptool.py should reset the ESP32 before flashing. Automatic resetting depends on the RTS & DTR signals being wired from the serial port to the ESP32. Most USB development boards do this internally. config ESPTOOLPY_BEFORE_RESET bool "Reset to bootloader" config ESPTOOLPY_BEFORE_NORESET bool "No reset" endchoice config ESPTOOLPY_BEFORE string default "default_reset" if ESPTOOLPY_BEFORE_RESET default "no_reset" if ESPTOOLPY_BEFORE_NORESET choice ESPTOOLPY_AFTER prompt "After flashing" default ESPTOOLPY_AFTER_RESET help Configure whether esptool.py should reset the ESP32 after flashing. Automatic resetting depends on the RTS & DTR signals being wired from the serial port to the ESP32. Most USB development boards do this internally. config ESPTOOLPY_AFTER_RESET bool "Reset after flashing" config ESPTOOLPY_AFTER_NORESET bool "Stay in bootloader" endchoice config ESPTOOLPY_AFTER string default "hard_reset" if ESPTOOLPY_AFTER_RESET default "no_reset" if ESPTOOLPY_AFTER_NORESET config ESPTOOLPY_MONITOR_BAUD int default ESP_CONSOLE_UART_BAUDRATE if ESP_CONSOLE_UART default 115200 if !ESP_CONSOLE_UART endmenu