Files
esp-idf/components/freertos/Kconfig
T

174 lines
5.6 KiB
Plaintext
Raw Normal View History

2016-08-17 23:08:22 +08:00
menu "FreeRTOS"
# This is actually also handled in the ESP32 startup code, not only in FreeRTOS.
config FREERTOS_UNICORE
2016-09-28 13:24:58 +08:00
bool "Run FreeRTOS only on first core"
default n
help
This version of FreeRTOS normally takes control of all cores of
the CPU. Select this if you only want to start it on the first core.
This is needed when e.g. another process needs complete control
over the second core.
2016-08-17 23:08:22 +08:00
choice FREERTOS_CORETIMER
2016-09-28 13:24:58 +08:00
prompt "Xtensa timer to use as the FreeRTOS tick source"
default CONFIG_FREERTOS_CORETIMER_0
help
FreeRTOS needs a timer with an associated interrupt to use as
the main tick source to increase counters, run timers and do
pre-emptive multitasking with. There are multiple timers available
to do this, with different interrupt priorities. Check
2016-08-17 23:08:22 +08:00
config FREERTOS_CORETIMER_0
2016-09-28 13:24:58 +08:00
bool "Timer 0 (int 6, level 1)"
help
Select this to use timer 0
2016-08-17 23:08:22 +08:00
config FREERTOS_CORETIMER_1
2016-09-28 13:24:58 +08:00
bool "Timer 1 (int 15, level 3)"
help
Select this to use timer 1
2016-08-17 23:08:22 +08:00
config FREERTOS_CORETIMER_2
2016-09-28 13:24:58 +08:00
bool "Timer 2 (int 16, level 5)"
help
Select this to use timer 2
2016-08-17 23:08:22 +08:00
endchoice
config FREERTOS_HZ
2016-09-28 13:24:58 +08:00
int "Tick rate (Hz)"
2016-10-06 10:06:01 +11:00
range 1 1000
2016-09-28 13:24:58 +08:00
default 100
help
Select the tick rate at which FreeRTOS does pre-emptive context switching.
2016-08-17 23:08:22 +08:00
config FREERTOS_ASSERT_ON_UNTESTED_FUNCTION
bool "Halt when an SMP-untested function is called"
default y
help
Some functions in FreeRTOS have not been thoroughly tested yet when moving to
the SMP implementation of FreeRTOS. When this option is enabled, these fuctions
will throw an assert().
2016-08-17 23:08:22 +08:00
choice FREERTOS_CHECK_STACKOVERFLOW
2016-09-28 13:24:58 +08:00
prompt "Check for stack overflow"
default FREERTOS_CHECK_STACKOVERFLOW_QUICK
help
FreeRTOS can check for stack overflows in threads and trigger an user function
called vApplicationStackOverflowHook when this happens.
2016-08-17 23:08:22 +08:00
config FREERTOS_CHECK_STACKOVERFLOW_NONE
2016-09-28 13:24:58 +08:00
bool "No checking"
help
Do not check for stack overflows (configCHECK_FOR_STACK_OVERFLOW=0)
2016-08-17 23:08:22 +08:00
config FREERTOS_CHECK_STACKOVERFLOW_PTRVAL
2016-09-28 13:24:58 +08:00
bool "Check by stack pointer value"
help
Check for stack overflows on each context switch by checking if
the stack pointer is in a valid range. Quick but does not detect
stack overflows that happened between context switches
(configCHECK_FOR_STACK_OVERFLOW=1)
2016-08-17 23:08:22 +08:00
config FREERTOS_CHECK_STACKOVERFLOW_CANARY
2016-09-28 13:24:58 +08:00
bool "Check using canary bytes"
help
Places some magic bytes at the end of the stack area and on each
context switch, check if these bytes are still intact. More thorough
than just checking the pointer, but also slightly slower.
(configCHECK_FOR_STACK_OVERFLOW=2)
2016-08-17 23:08:22 +08:00
endchoice
config FREERTOS_THREAD_LOCAL_STORAGE_POINTERS
2016-09-28 13:24:58 +08:00
int "Amount of thread local storage pointers"
range 0 256 if !WIFI_ENABLED
range 1 256 if WIFI_ENABLED
default 1
help
FreeRTOS has the ability to store per-thread pointers in the task
control block. This controls the amount of pointers available;
0 turns off this functionality.
2016-08-17 23:08:22 +08:00
2016-09-28 13:24:58 +08:00
If using the WiFi stack, this value must be at least 1.
choice FREERTOS_ASSERT
2016-09-28 13:24:58 +08:00
prompt "FreeRTOS assertions"
default FREERTOS_ASSERT_FAIL_ABORT
help
Failed FreeRTOS configASSERT() assertions can be configured to
behave in different ways.
config FREERTOS_ASSERT_FAIL_ABORT
2016-09-28 13:24:58 +08:00
bool "abort() on failed assertions"
help
If a FreeRTOS configASSERT() fails, FreeRTOS will abort() and
halt execution. The panic handler can be configured to handle
the outcome of an abort() in different ways.
config FREERTOS_ASSERT_FAIL_PRINT_CONTINUE
2016-09-28 13:24:58 +08:00
bool "Print and continue failed assertions"
help
If a FreeRTOS assertion fails, print it out and continue.
config FREERTOS_ASSERT_DISABLE
2016-09-28 13:24:58 +08:00
bool "Disable FreeRTOS assertions"
help
FreeRTOS configASSERT() will not be compiled into the binary.
endchoice
2016-08-17 23:08:22 +08:00
config FREERTOS_BREAK_ON_SCHEDULER_START_JTAG
2016-09-28 13:24:58 +08:00
bool "Stop program on scheduler start when JTAG/OCD is detected"
depends on ESP32_DEBUG_OCDAWARE
2016-09-28 13:24:58 +08:00
default y
help
If JTAG/OCD is connected, stop execution when the scheduler is started and the first
task is executed.
2016-08-17 23:08:22 +08:00
menuconfig ENABLE_MEMORY_DEBUG
2016-09-28 13:24:58 +08:00
bool "Enable heap memory debug"
default n
help
Enable this option to show malloc heap block and memory crash detect
2016-10-27 16:18:55 +08:00
config FREERTOS_ISR_STACKSIZE
int "ISR stack size"
range 1536 32768
default 1536
help
The interrupt handlers have their own stack. The size of the stack can be defined here.
Each processor has its own stack, so the total size occupied will be twice this.
menuconfig FREERTOS_DEBUG_INTERNALS
2016-09-28 13:24:58 +08:00
bool "Debug FreeRTOS internals"
default n
help
Enable this option to show the menu with internal FreeRTOS debugging features.
This option does not change any code by itself, it just shows/hides some options.
if FREERTOS_DEBUG_INTERNALS
config FREERTOS_PORTMUX_DEBUG
2016-09-28 13:24:58 +08:00
bool "Debug portMUX portENTER_CRITICAL/portEXIT_CRITICAL"
depends on FREERTOS_DEBUG_INTERNALS
default n
help
If enabled, debug information (including integrity checks) will be printed
to UART for the port-specific MUX implementation.
config FREERTOS_PORTMUX_DEBUG_RECURSIVE
2016-09-28 13:24:58 +08:00
bool "Debug portMUX Recursion"
depends on FREERTOS_PORTMUX_DEBUG
default n
help
If enabled, additional debug information will be printed for recursive
portMUX usage.
endif # FREERTOS_DEBUG_INTERNALS
2016-08-17 23:08:22 +08:00
endmenu