mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 00:51:42 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			266 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			266 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
menu "Serial flasher config"
 | 
						|
    depends on !APP_BUILD_TYPE_PURE_RAM_APP
 | 
						|
 | 
						|
    config ESPTOOLPY_NO_STUB
 | 
						|
        bool "Disable download stub"
 | 
						|
        default "y" if IDF_ENV_FPGA
 | 
						|
        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
 | 
						|
 | 
						|
    config ESPTOOLPY_FLASH_MODE_AUTO_DETECT
 | 
						|
        depends on IDF_TARGET_ESP32S3
 | 
						|
        bool "Choose flash mode automatically (please read help)"
 | 
						|
        default y
 | 
						|
        help
 | 
						|
            This config option helps decide whether flash is Quad or Octal, but please note some limitations:
 | 
						|
 | 
						|
            1. If the flash chip is an Octal one, even if one of "QIO", "QOUT", "DIO", "DOUT" options is
 | 
						|
               selected in `ESPTOOLPY_FLASHMODE`, our code will automatically change the
 | 
						|
               mode to "OPI" and the sample mode will be STR.
 | 
						|
            2. If the flash chip is a Quad one, even if "OPI" is selected in `ESPTOOLPY_FLASHMODE`, our code will
 | 
						|
               automatically change the mode to "DIO".
 | 
						|
            3. Please do not rely on this option when you are pretty sure that you are using Octal flash,
 | 
						|
               please enable `ESPTOOLPY_OCT_FLASH` option, then you can choose `DTR` sample mode
 | 
						|
               in `ESPTOOLPY_FLASH_SAMPLE_MODE`. Otherwise, only `STR` mode is available.
 | 
						|
            4. Enabling this feature reduces available internal RAM size (around 900 bytes).
 | 
						|
               If your IRAM space is insufficient and you're aware of your flash type,
 | 
						|
               disable this option and select corresponding flash type options.
 | 
						|
 | 
						|
    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
 | 
						|
        default ESPTOOLPY_FLASHFREQ_80M if ESPTOOLPY_FLASHFREQ_80M_DEFAULT
 | 
						|
        default ESPTOOLPY_FLASHFREQ_60M if IDF_TARGET_ESP32C2
 | 
						|
        config ESPTOOLPY_FLASHFREQ_120M
 | 
						|
            bool "120 MHz"
 | 
						|
            select SPI_FLASH_HPM_ENABLE
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_120M && \
 | 
						|
                (ESPTOOLPY_FLASH_SAMPLE_MODE_STR || IDF_EXPERIMENTAL_FEATURES)
 | 
						|
            help
 | 
						|
                - Flash 120 MHz SDR mode is stable.
 | 
						|
                - Flash 120 MHz DDR mode is an experimental feature, it works when
 | 
						|
                  the temperature is stable.
 | 
						|
 | 
						|
                    Risks:
 | 
						|
                        If your chip powers on at a certain temperature, then after the temperature
 | 
						|
                        increases or decreases by approximately 20 Celsius degrees (depending on the
 | 
						|
                        chip), the program will crash randomly.
 | 
						|
 | 
						|
        config ESPTOOLPY_FLASHFREQ_80M
 | 
						|
            bool "80 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_64M
 | 
						|
            bool "64 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_64M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_60M
 | 
						|
            bool "60 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_60M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_48M
 | 
						|
            bool "48 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_48M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_40M
 | 
						|
            bool "40 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_32M
 | 
						|
            bool "32 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_32M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_30M
 | 
						|
            bool "30 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_30M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_26M
 | 
						|
            bool "26 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_24M
 | 
						|
            bool "24 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_24M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_20M
 | 
						|
            bool "20 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_16M
 | 
						|
            bool "16 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_16M_SUPPORTED
 | 
						|
        config ESPTOOLPY_FLASHFREQ_15M
 | 
						|
            bool "15 MHz"
 | 
						|
            depends on SOC_MEMSPI_SRC_FREQ_15M_SUPPORTED
 | 
						|
    endchoice
 | 
						|
 | 
						|
    config ESPTOOLPY_FLASHFREQ_80M_DEFAULT
 | 
						|
        bool
 | 
						|
        default y if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6
 | 
						|
        help
 | 
						|
            This is an invisible item, used to define the targets that defaults to use 80MHz Flash SPI speed.
 | 
						|
 | 
						|
    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 '60m' if ESPTOOLPY_FLASHFREQ_60M
 | 
						|
        default '48m' if ESPTOOLPY_FLASHFREQ_64M # For 0xf in esptool
 | 
						|
        default '48m' if ESPTOOLPY_FLASHFREQ_48M
 | 
						|
        default '24m' if ESPTOOLPY_FLASHFREQ_32M # For 0x0 in esptool
 | 
						|
        default '30m' if ESPTOOLPY_FLASHFREQ_30M
 | 
						|
        default '24m' if ESPTOOLPY_FLASHFREQ_24M
 | 
						|
        default '40m' if ESPTOOLPY_FLASHFREQ_40M
 | 
						|
        default '26m' if ESPTOOLPY_FLASHFREQ_26M
 | 
						|
        default '20m' if ESPTOOLPY_FLASHFREQ_20M
 | 
						|
        default '12m' if ESPTOOLPY_FLASHFREQ_16M # For 0x2 in esptool
 | 
						|
        default '20m' # if no clock can match in bin headers, go with minimal.
 | 
						|
 | 
						|
 | 
						|
    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"
 | 
						|
        config ESPTOOLPY_FLASHSIZE_32MB
 | 
						|
            bool "32 MB"
 | 
						|
        config ESPTOOLPY_FLASHSIZE_64MB
 | 
						|
            bool "64 MB"
 | 
						|
        config ESPTOOLPY_FLASHSIZE_128MB
 | 
						|
            bool "128 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
 | 
						|
        default "32MB" if ESPTOOLPY_FLASHSIZE_32MB
 | 
						|
        default "64MB" if ESPTOOLPY_FLASHSIZE_64MB
 | 
						|
        default "128MB" if ESPTOOLPY_FLASHSIZE_128MB
 | 
						|
 | 
						|
    config ESPTOOLPY_HEADER_FLASHSIZE_UPDATE
 | 
						|
        bool "Detect flash size when flashing bootloader"
 | 
						|
        default n
 | 
						|
        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.
 | 
						|
 | 
						|
            Enabling this option turns off the image protection against corruption
 | 
						|
            by a SHA256 digest. Updating the bootloader image before flashing would
 | 
						|
            invalidate the digest.
 | 
						|
 | 
						|
    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
 |