Kconfig 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. menu "ESP System Settings"
  2. choice ESP_SYSTEM_PANIC
  3. prompt "Panic handler behaviour"
  4. default ESP_SYSTEM_PANIC_PRINT_REBOOT
  5. help
  6. If FreeRTOS detects unexpected behaviour or an unhandled exception, the panic handler is
  7. invoked. Configure the panic handler's action here.
  8. config ESP_SYSTEM_PANIC_PRINT_HALT
  9. bool "Print registers and halt"
  10. help
  11. Outputs the relevant registers over the serial port and halt the
  12. processor. Needs a manual reset to restart.
  13. config ESP_SYSTEM_PANIC_PRINT_REBOOT
  14. bool "Print registers and reboot"
  15. help
  16. Outputs the relevant registers over the serial port and immediately
  17. reset the processor.
  18. config ESP_SYSTEM_PANIC_SILENT_REBOOT
  19. bool "Silent reboot"
  20. help
  21. Just resets the processor without outputting anything
  22. config ESP_SYSTEM_PANIC_GDBSTUB
  23. bool "Invoke GDBStub"
  24. select ESP_GDBSTUB_ENABLED
  25. help
  26. Invoke gdbstub on the serial port, allowing for gdb to attach to it to do a postmortem
  27. of the crash.
  28. endchoice
  29. config ESP_SYSTEM_SINGLE_CORE_MODE
  30. bool
  31. default n
  32. help
  33. Only initialize and use the main core.
  34. config ESP_SYSTEM_RTC_EXT_XTAL
  35. # This is a High Layer Kconfig option, invisible, can be selected by other Kconfig option
  36. # e.g. It will be selected on when ESP32_RTC_CLK_SRC_EXT_CRYS is on
  37. bool
  38. default n
  39. config ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES
  40. int "Bootstrap cycles for external 32kHz crystal"
  41. depends on ESP_SYSTEM_RTC_EXT_XTAL
  42. default 5 if IDF_TARGET_ESP32
  43. default 0
  44. range 0 32768
  45. help
  46. To reduce the startup time of an external RTC crystal,
  47. we bootstrap it with a 32kHz square wave for a fixed number of cycles.
  48. Setting 0 will disable bootstrapping (if disabled, the crystal may take
  49. longer to start up or fail to oscillate under some conditions).
  50. If this value is too high, a faulty crystal may initially start and then fail.
  51. If this value is too low, an otherwise good crystal may not start.
  52. To accurately determine if the crystal has started,
  53. set a larger "Number of cycles for RTC_SLOW_CLK calibration" (about 3000).
  54. config ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK
  55. bool
  56. default y if IDF_TARGET_ESP32 && FREERTOS_UNICORE
  57. default y if IDF_TARGET_ESP32S2
  58. default y if IDF_TARGET_ESP32C3
  59. default y if IDF_TARGET_ESP32S3
  60. config ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP
  61. bool "Enable RTC fast memory for dynamic allocations"
  62. default y if IDF_TARGET_ESP32
  63. default y if IDF_TARGET_ESP32S2
  64. default y if IDF_TARGET_ESP32C3
  65. default n if IDF_TARGET_ESP32S3 # TODO
  66. depends on ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK
  67. help
  68. This config option allows to add RTC fast memory region to system heap with capability
  69. similar to that of DRAM region but without DMA. This memory will be consumed first per
  70. heap initialization order by early startup services and scheduler related code. Speed
  71. wise RTC fast memory operates on APB clock and hence does not have much performance impact.
  72. config ESP_SYSTEM_PD_FLASH
  73. bool "PD flash at light sleep when there is no SPIRAM"
  74. depends on !SPIRAM
  75. default y
  76. help
  77. If enabled, chip will try to power down flash at light sleep, which costs more time when chip wakes up.
  78. Can only be enabled if there is no SPIRAM configured. This option will in fact consider VDD_SDIO auto power
  79. value (ESP_PD_OPTION_AUTO) as OFF. Also, it is possible to force a power domain to stay ON during light
  80. sleep by using esp_sleep_pd_config() function.
  81. config ESP_SYSTEM_PM_POWER_DOWN_CPU
  82. bool "Power down CPU in light sleep"
  83. depends on IDF_TARGET_ESP32C3
  84. default y
  85. help
  86. If enabled, the CPU will be powered down in light sleep. Enabling this option will consume
  87. 1.68 KB of internal RAM and will reduce sleep current consumption by about 100 uA.
  88. menu "Memory protection"
  89. config ESP_SYSTEM_MEMPROT_FEATURE
  90. bool "Enable memory protection"
  91. depends on IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S2
  92. default "y"
  93. help
  94. If enabled, the permission control module watches all the memory access and fires the panic handler
  95. if a permission violation is detected. This feature automatically splits
  96. the SRAM memory into data and instruction segments and sets Read/Execute permissions
  97. for the instruction part (below given splitting address) and Read/Write permissions
  98. for the data part (above the splitting address). The memory protection is effective
  99. on all access through the IRAM0 and DRAM0 buses.
  100. config ESP_SYSTEM_MEMPROT_FEATURE_LOCK
  101. depends on ESP_SYSTEM_MEMPROT_FEATURE
  102. bool "Lock memory protection settings"
  103. default "y"
  104. help
  105. Once locked, memory protection settings cannot be changed anymore.
  106. The lock is reset only on the chip startup.
  107. endmenu # Memory protection
  108. endmenu # ESP System Settings