config SELECT_CORTEX_M bool "Using a Cortex M?" default y config configCPU_CLOCK_HZ int "What is the CPU clock frequency? (hz)" default 20000000 help In most cases, configCPU_CLOCK_HZ must be set to the frequency of the clock that drives the peripheral used to generate the kernels periodic tick interrupt. The default value is set to 20MHz and matches the QEMU demo settings. Your application will certainly need a different value so set this correctly. This is very often, but not always, equal to the main system clock frequency config SELECT_SYSTICKER bool "Sys Tick timer clocked at a different frequency than CPU?" depends on SELECT_CORTEX_M default n help By default ARM Cortex-M ports generate the RTOS tick interrupt from the Cortex-M SysTick timer. Most Cortex-M MCUs run the SysTick timer at the same frequency as the MCU itself - when that is the case configSYSTICK_CLOCK_HZ is not needed and should be left undefined. If the SysTick timer is clocked at a different frequency to the MCU core then set configCPU_CLOCK_HZ to the MCU clock frequency, as normal, and configSYSTICK_CLOCK_HZ to the SysTick clock frequency. config configSYSTICK_CLOCK_HZ int "Sys Tick timer frequency? (hz)" depends on SELECT_SYSTICKER config configTICK_RATE_HZ int "FreeRTOS Scheduler Tick Rate (hz)" default 100 config configUSE_PREEMPTION bool "Enable pre-emptive scheduling" default y help https://www.freertos.org/single-core-amp-smp-rtos-scheduling.html config configUSE_TIME_SLICING bool "Configure the scheduler to switch between ready tasks of equal priority" default y help https://freertos.org/single-core-amp-smp-rtos-scheduling.html config configUSE_PORT_OPTIMISED_TASK_SELECTION bool "Use an optmised task selector" default n help run using an algorithm optimised to the instruction set of the target hardware - normally using a count leading zeros assembly instruction. Set to 0 to select the next task to run using a generic C algorithm that works for all FreeRTOS ports. Not all FreeRTOS ports have this option. Defaults to 0 if left undefined config USE_TICKLESS_IDLE bool "Use the low power tickless mode" default n help https://www.freertos.org/low-power-tickless-rtos.html config configMAX_PRIORITIES int "How many priorities are needed in this system?" default 5 help Determine the number of priority levels needed in this system. The lowest priority level is 0. The highest priority level is configMAX_PRIORITIES-1. config configMINIMAL_STACK_SIZE int "The stack size of the idle task" default 128 config configMAX_TASK_NAME_LEN int "Maximum task name length" default 16 config configUSE_16_BIT_TICKS bool "Use 16-bit ticks (limit maximum delay to 65535 ticks)" default n config configIDLE_SHOULD_YIELD bool "Place idle tasks at a lower priority than 0 priority application tasks" default n config configTASK_NOTIFICATION_ARRAY_ENTRIES int "Number of Notifications enabled per task" default 1 config configQUEUE_REGISTRY_SIZE int "Maximum number of queues and semaphores references from the queue registery" default 0 config configENABLE_BACKWARD_COMPATIBILITY bool "Enable API backward compatibility with FreeRTOS before v9" default n config configNUM_THREAD_LOCAL_STORAGE_POINTERS int "Number of pointers available for thread local storage" default 0 help https://www.freertos.org/thread-local-storage-pointers.html choice prompt "Select Stack Depth Type" default SELECT_UINT16 config SELECT_UINT16 bool "Use 16-bit types for the stack depth type" config SELECT_UINT32 bool "Use 32-bit types for the stack depth type" endchoice config configSTACK_DEPTH_TYPE string default uint16_t default uint32_t if SELECT_UINT32 choice prompt "Select Message Buffer Length type" default SELECT_SIZE_T config SELECT_UINT8 bool "Maximum message buffer size of 255 bytes" config SELECT_UINT16 bool "Maximum message buffer size of 65535 bytes" config SELECT_UINT32 bool "Maximum message buffer size of 4.2GB" config SELECT_SIZE_T bool "Buffer sizes limited to size_t" endchoice config configMESSAGE_BUFFER_LENGTH_TYPE string default size_t default uint8_t if SELECT_UINT8_T default uint16_t if SELECT_UINT16_T default uint32_t if SELECT_UINT32_T config configUSE_NEWLIB_REENTRANT bool "Enable reentrant newlib (EXPERIMENTAL)" default n help Note: Newlib support has been included by popular demand, but is not used or tested by the FreeRTOS maintainers themselves. FreeRTOS is not responsible for resulting newlib operation. User must be familiar with newlib and must provide system-wide implementations of the necessary stubs. Note that (at the time of writing) the current newlib design implements a system-wide malloc() that must be provided with locks. config configUSE_TIMERS bool "Enable software timers" default y config configTIMER_TASK_PRIORITY int "Timer Task priority" default 0 range 0 configMAX_PRIORITIES