mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04: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
|