Kconfig 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. menu "Common ESP-related"
  2. config ESP_TIMER_PROFILING
  3. bool "Enable esp_timer profiling features"
  4. default n
  5. help
  6. If enabled, esp_timer_dump will dump information such as number of times the timer was started, number of
  7. times the timer has triggered, and the total time it took for the callback to run. This option has some
  8. effect on timer performance and the amount of memory used for timer storage, and should only be used for
  9. debugging/testing purposes.
  10. config ESP_ERR_TO_NAME_LOOKUP
  11. bool "Enable lookup of error code strings"
  12. default "y"
  13. help
  14. Functions esp_err_to_name() and esp_err_to_name_r() return string representations of error codes from a
  15. pre-generated lookup table. This option can be used to turn off the use of the look-up table in order to
  16. save memory but this comes at the price of sacrificing distinguishable (meaningful) output string
  17. representations.
  18. config ESP_SYSTEM_EVENT_QUEUE_SIZE
  19. int "System event queue size"
  20. default 32
  21. help
  22. Config system event queue size in different application.
  23. config ESP_SYSTEM_EVENT_TASK_STACK_SIZE
  24. int "Event loop task stack size"
  25. default 2304
  26. help
  27. Config system event task stack size in different application.
  28. config ESP_MAIN_TASK_STACK_SIZE
  29. int "Main task stack size"
  30. default 3584
  31. help
  32. Configure the "main task" stack size. This is the stack of the task
  33. which calls app_main(). If app_main() returns then this task is deleted
  34. and its stack memory is freed.
  35. config ESP_IPC_TASK_STACK_SIZE
  36. int "Inter-Processor Call (IPC) task stack size"
  37. range 512 65536 if !ESP32_APPTRACE_ENABLE
  38. range 2048 65536 if ESP32_APPTRACE_ENABLE
  39. default 2048 if ESP32_APPTRACE_ENABLE
  40. default 1024
  41. help
  42. Configure the IPC tasks stack size. One IPC task runs on each core
  43. (in dual core mode), and allows for cross-core function calls.
  44. See IPC documentation for more details.
  45. The default stack size should be enough for most common use cases.
  46. It can be shrunk if you are sure that you do not use any custom
  47. IPC functionality.
  48. config ESP_TIMER_TASK_STACK_SIZE
  49. int "High-resolution timer task stack size"
  50. default 3584
  51. range 2048 65536
  52. help
  53. Configure the stack size of esp_timer/ets_timer task. This task is used
  54. to dispatch callbacks of timers created using ets_timer and esp_timer
  55. APIs. If you are seing stack overflow errors in timer task, increase
  56. this value.
  57. Note that this is not the same as FreeRTOS timer task. To configure
  58. FreeRTOS timer task size, see "FreeRTOS timer task stack size" option
  59. in "FreeRTOS" menu.
  60. choice ESP_CONSOLE_UART
  61. prompt "UART for console output"
  62. default ESP_CONSOLE_UART_DEFAULT
  63. help
  64. Select whether to use UART for console output (through stdout and stderr).
  65. - Default is to use UART0 on pins GPIO1(TX) and GPIO3(RX).
  66. - If "Custom" is selected, UART0 or UART1 can be chosen,
  67. and any pins can be selected.
  68. - If "None" is selected, there will be no console output on any UART, except
  69. for initial output from ROM bootloader. This output can be further suppressed by
  70. bootstrapping GPIO13 pin to low logic level.
  71. config ESP_CONSOLE_UART_DEFAULT
  72. bool "Default: UART0, TX=GPIO1, RX=GPIO3"
  73. config ESP_CONSOLE_UART_CUSTOM
  74. bool "Custom"
  75. config ESP_CONSOLE_UART_NONE
  76. bool "None"
  77. endchoice
  78. choice ESP_CONSOLE_UART_NUM
  79. prompt "UART peripheral to use for console output (0-1)"
  80. depends on ESP_CONSOLE_UART_CUSTOM
  81. default ESP_CONSOLE_UART_CUSTOM_NUM_0
  82. help
  83. Due of a ROM bug, UART2 is not supported for console output
  84. via ets_printf.
  85. config ESP_CONSOLE_UART_CUSTOM_NUM_0
  86. bool "UART0"
  87. config ESP_CONSOLE_UART_CUSTOM_NUM_1
  88. bool "UART1"
  89. endchoice
  90. config ESP_CONSOLE_UART_NUM
  91. int
  92. default 0 if ESP_CONSOLE_UART_DEFAULT || ESP_CONSOLE_UART_NONE
  93. default 0 if ESP_CONSOLE_UART_CUSTOM_NUM_0
  94. default 1 if ESP_CONSOLE_UART_CUSTOM_NUM_1
  95. config ESP_CONSOLE_UART_TX_GPIO
  96. int "UART TX on GPIO#"
  97. depends on ESP_CONSOLE_UART_CUSTOM
  98. range 0 33
  99. default 19
  100. config ESP_CONSOLE_UART_RX_GPIO
  101. int "UART RX on GPIO#"
  102. depends on ESP_CONSOLE_UART_CUSTOM
  103. range 0 39
  104. default 21
  105. config ESP_CONSOLE_UART_BAUDRATE
  106. int "UART console baud rate"
  107. depends on !ESP_CONSOLE_UART_NONE
  108. default 115200
  109. range 1200 4000000
  110. config ESP_INT_WDT
  111. bool "Interrupt watchdog"
  112. default y
  113. help
  114. This watchdog timer can detect if the FreeRTOS tick interrupt has not been called for a certain time,
  115. either because a task turned off interrupts and did not turn them on for a long time, or because an
  116. interrupt handler did not return. It will try to invoke the panic handler first and failing that
  117. reset the SoC.
  118. config ESP_INT_WDT_TIMEOUT_MS
  119. int "Interrupt watchdog timeout (ms)"
  120. depends on ESP_INT_WDT
  121. default 300 if !ESP32_SPIRAM_SUPPORT
  122. default 800 if ESP32_SPIRAM_SUPPORT
  123. range 10 10000
  124. help
  125. The timeout of the watchdog, in miliseconds. Make this higher than the FreeRTOS tick rate.
  126. config ESP_INT_WDT_CHECK_CPU1
  127. bool "Also watch CPU1 tick interrupt"
  128. depends on ESP_INT_WDT && !FREERTOS_UNICORE
  129. default y
  130. help
  131. Also detect if interrupts on CPU 1 are disabled for too long.
  132. config ESP_TASK_WDT
  133. bool "Initialize Task Watchdog Timer on startup"
  134. default y
  135. help
  136. The Task Watchdog Timer can be used to make sure individual tasks are still
  137. running. Enabling this option will cause the Task Watchdog Timer to be
  138. initialized automatically at startup. The Task Watchdog timer can be
  139. initialized after startup as well (see Task Watchdog Timer API Reference)
  140. config ESP_TASK_WDT_PANIC
  141. bool "Invoke panic handler on Task Watchdog timeout"
  142. depends on ESP_TASK_WDT
  143. default n
  144. help
  145. If this option is enabled, the Task Watchdog Timer will be configured to
  146. trigger the panic handler when it times out. This can also be configured
  147. at run time (see Task Watchdog Timer API Reference)
  148. config ESP_TASK_WDT_TIMEOUT_S
  149. int "Task Watchdog timeout period (seconds)"
  150. depends on ESP_TASK_WDT
  151. range 1 60
  152. default 5
  153. help
  154. Timeout period configuration for the Task Watchdog Timer in seconds.
  155. This is also configurable at run time (see Task Watchdog Timer API Reference)
  156. config ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0
  157. bool "Watch CPU0 Idle Task"
  158. depends on ESP_TASK_WDT
  159. default y
  160. help
  161. If this option is enabled, the Task Watchdog Timer will watch the CPU0
  162. Idle Task. Having the Task Watchdog watch the Idle Task allows for detection
  163. of CPU starvation as the Idle Task not being called is usually a symptom of
  164. CPU starvation. Starvation of the Idle Task is detrimental as FreeRTOS household
  165. tasks depend on the Idle Task getting some runtime every now and then.
  166. config ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1
  167. bool "Watch CPU1 Idle Task"
  168. depends on ESP_TASK_WDT && !FREERTOS_UNICORE
  169. default y
  170. help
  171. If this option is enabled, the Task Wtachdog Timer will wach the CPU1
  172. Idle Task.
  173. endmenu # Common ESP-related