mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			160 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
menu "ESP System Settings"
 | 
						|
 | 
						|
    choice ESP_SYSTEM_PANIC
 | 
						|
        prompt "Panic handler behaviour"
 | 
						|
        default ESP_SYSTEM_PANIC_PRINT_REBOOT
 | 
						|
        help
 | 
						|
            If FreeRTOS detects unexpected behaviour or an unhandled exception, the panic handler is
 | 
						|
            invoked. Configure the panic handler's action here.
 | 
						|
 | 
						|
        config ESP_SYSTEM_PANIC_PRINT_HALT
 | 
						|
            bool "Print registers and halt"
 | 
						|
            help
 | 
						|
                Outputs the relevant registers over the serial port and halt the
 | 
						|
                processor. Needs a manual reset to restart.
 | 
						|
 | 
						|
        config ESP_SYSTEM_PANIC_PRINT_REBOOT
 | 
						|
            bool "Print registers and reboot"
 | 
						|
            help
 | 
						|
                Outputs the relevant registers over the serial port and immediately
 | 
						|
                reset the processor.
 | 
						|
 | 
						|
        config ESP_SYSTEM_PANIC_SILENT_REBOOT
 | 
						|
            bool "Silent reboot"
 | 
						|
            help
 | 
						|
                Just resets the processor without outputting anything
 | 
						|
 | 
						|
        config ESP_SYSTEM_PANIC_GDBSTUB
 | 
						|
            bool "Invoke GDBStub"
 | 
						|
            select ESP_GDBSTUB_ENABLED
 | 
						|
            help
 | 
						|
                Invoke gdbstub on the serial port, allowing for gdb to attach to it to do a postmortem
 | 
						|
                of the crash.
 | 
						|
    endchoice
 | 
						|
 | 
						|
    config ESP_SYSTEM_SINGLE_CORE_MODE
 | 
						|
        bool
 | 
						|
        default n
 | 
						|
        help
 | 
						|
            Only initialize and use the main core.
 | 
						|
 | 
						|
    config ESP_SYSTEM_RTC_EXT_XTAL
 | 
						|
        # This is a High Layer Kconfig option, invisible, can be selected by other Kconfig option
 | 
						|
        # e.g. It will be selected on when ESP32_RTC_CLK_SRC_EXT_CRYS is on
 | 
						|
        bool
 | 
						|
        default n
 | 
						|
 | 
						|
    config ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES
 | 
						|
        int "Bootstrap cycles for external 32kHz crystal"
 | 
						|
        depends on ESP_SYSTEM_RTC_EXT_XTAL
 | 
						|
        default 5 if IDF_TARGET_ESP32
 | 
						|
        default 0
 | 
						|
        range 0 32768
 | 
						|
        help
 | 
						|
            To reduce the startup time of an external RTC crystal,
 | 
						|
            we bootstrap it with a 32kHz square wave for a fixed number of cycles.
 | 
						|
            Setting 0 will disable bootstrapping (if disabled, the crystal may take
 | 
						|
            longer to start up or fail to oscillate under some conditions).
 | 
						|
 | 
						|
            If this value is too high, a faulty crystal may initially start and then fail.
 | 
						|
            If this value is too low, an otherwise good crystal may not start.
 | 
						|
 | 
						|
            To accurately determine if the crystal has started,
 | 
						|
            set a larger "Number of cycles for RTC_SLOW_CLK calibration" (about 3000).
 | 
						|
 | 
						|
    config ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK
 | 
						|
        bool
 | 
						|
        default y if IDF_TARGET_ESP32 && FREERTOS_UNICORE
 | 
						|
        default y if IDF_TARGET_ESP32S2
 | 
						|
        default y if IDF_TARGET_ESP32C3
 | 
						|
        default y if IDF_TARGET_ESP32S3
 | 
						|
 | 
						|
    config ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP
 | 
						|
        bool "Enable RTC fast memory for dynamic allocations"
 | 
						|
        default y if IDF_TARGET_ESP32
 | 
						|
        default y if IDF_TARGET_ESP32S2
 | 
						|
        default y if IDF_TARGET_ESP32C3
 | 
						|
        default n if IDF_TARGET_ESP32S3  # TODO
 | 
						|
        depends on ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK
 | 
						|
        help
 | 
						|
            This config option allows to add RTC fast memory region to system heap with capability
 | 
						|
            similar to that of DRAM region but without DMA. This memory will be consumed first per
 | 
						|
            heap initialization order by early startup services and scheduler related code. Speed
 | 
						|
            wise RTC fast memory operates on APB clock and hence does not have much performance impact.
 | 
						|
 | 
						|
    config ESP_SYSTEM_PD_FLASH
 | 
						|
        bool "PD flash at light sleep when there is no SPIRAM"
 | 
						|
        depends on !SPIRAM
 | 
						|
        default y
 | 
						|
        help
 | 
						|
            If enabled, chip will try to power down flash at light sleep, which costs more time when chip wakes up.
 | 
						|
            Can only be enabled if there is no SPIRAM configured. This option will in fact consider VDD_SDIO auto power
 | 
						|
            value (ESP_PD_OPTION_AUTO) as OFF. Also, it is possible to force a power domain to stay ON during light
 | 
						|
            sleep by using esp_sleep_pd_config() function.
 | 
						|
 | 
						|
    config ESP_SYSTEM_PM_POWER_DOWN_CPU
 | 
						|
        bool "Power down CPU in light sleep"
 | 
						|
        depends on IDF_TARGET_ESP32C3
 | 
						|
        default y
 | 
						|
        help
 | 
						|
            If enabled, the CPU will be powered down in light sleep. Enabling this option will consume
 | 
						|
            1.68 KB of internal RAM and will reduce sleep current consumption by about 100 uA.
 | 
						|
 | 
						|
    config ESP_SYSTEM_PSRAM_LEAKAGE_WORKAROUND
 | 
						|
        bool "PSRAM leakage current workaround in light sleep"
 | 
						|
        depends on SPIRAM
 | 
						|
        help
 | 
						|
            When the CS pin of SPIRAM is not pulled up, the sleep current will
 | 
						|
            increase during light sleep. If the CS pin of SPIRAM has an external
 | 
						|
            pull-up, you do not need to select this option, otherwise, you
 | 
						|
            should enable this option.
 | 
						|
 | 
						|
    config ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND
 | 
						|
        bool "Flash leakage current workaround in light sleep"
 | 
						|
        help
 | 
						|
            When the CS pin of Flash is not pulled up, the sleep current will
 | 
						|
            increase during light sleep. If the CS pin of Flash has an external
 | 
						|
            pull-up, you do not need to select this option, otherwise, you
 | 
						|
            should enable this option.
 | 
						|
 | 
						|
    menu "RTC Clock Config"
 | 
						|
        # This is used for configure the RTC clock.
 | 
						|
        config RTC_CLOCK_BBPLL_POWER_ON_WITH_USB
 | 
						|
            bool "Keep BBPLL clock always work"
 | 
						|
            depends on ESP_CONSOLE_USB_SERIAL_JTAG || ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
 | 
						|
            default y
 | 
						|
            help
 | 
						|
                When the chip goes sleep or software reset, the clock source would change to XTAL
 | 
						|
                and switch off the BBPLL clock for saving power. However, this might make the
 | 
						|
                USB_SERIAL_JTAG down which depends on BBPLL as its unique clock source.
 | 
						|
                Therefore, this is used for keeping bbpll clock always on when USB_SERIAL_JTAG PORT is using.
 | 
						|
                If you want to use USB_SERIAL_JTAG under sw_reset case or sleep-wakeup case, you shoule select
 | 
						|
                this option. But be aware that this might increase the power consumption.
 | 
						|
    endmenu
 | 
						|
 | 
						|
    menu "Memory protection"
 | 
						|
 | 
						|
        config ESP_SYSTEM_MEMPROT_FEATURE
 | 
						|
            bool "Enable memory protection"
 | 
						|
            depends on IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S2
 | 
						|
            default "y"
 | 
						|
            help
 | 
						|
                If enabled, the permission control module watches all the memory access and fires the panic handler
 | 
						|
                if a permission violation is detected. This feature automatically splits
 | 
						|
                the SRAM memory into data and instruction segments and sets Read/Execute permissions
 | 
						|
                for the instruction part (below given splitting address) and Read/Write permissions
 | 
						|
                for the data part (above the splitting address). The memory protection is effective
 | 
						|
                on all access through the IRAM0 and DRAM0 buses.
 | 
						|
 | 
						|
        config ESP_SYSTEM_MEMPROT_FEATURE_LOCK
 | 
						|
            depends on ESP_SYSTEM_MEMPROT_FEATURE
 | 
						|
            bool "Lock memory protection settings"
 | 
						|
            default "y"
 | 
						|
            help
 | 
						|
                Once locked, memory protection settings cannot be changed anymore.
 | 
						|
                The lock is reset only on the chip startup.
 | 
						|
 | 
						|
    endmenu  # Memory protection
 | 
						|
 | 
						|
endmenu  # ESP System Settings
 |