finalising the sample FreeRTOSConfig.h header file
parent
81bd4c1776
commit
d4734f50b5
@ -1,18 +0,0 @@
|
||||
#define CONFIG_SELECT_CORTEX_M 1
|
||||
#define CONFIG_configCPU_CLOCK_HZ 20000000
|
||||
#define CONFIG_SELECT_SYSTICKER 1
|
||||
#define CONFIG_configSYSTICK_CLOCK_HZ 500
|
||||
#define CONFIG_configTICK_RATE_HZ 100
|
||||
#define CONFIG_configUSE_PREEMPTION 1
|
||||
#define CONFIG_configUSE_TIME_SLICING 1
|
||||
#define CONFIG_configMAX_PRIORITIES 5
|
||||
#define CONFIG_configMINIMAL_STACK_SIZE 128
|
||||
#define CONFIG_configMAX_TASK_NAME_LEN 16
|
||||
#define CONFIG_configTASK_NOTIFICATION_ARRAY_ENTRIES 1
|
||||
#define CONFIG_configQUEUE_REGISTRY_SIZE 0
|
||||
#define CONFIG_configNUM_THREAD_LOCAL_STORAGE_POINTERS 0
|
||||
#define CONFIG_SELECT_UINT16 1
|
||||
#define CONFIG_configSTACK_DEPTH_TYPE "uint16_t"
|
||||
#define CONFIG_configMESSAGE_BUFFER_LENGTH_TYPE "size_t"
|
||||
#define CONFIG_configUSE_TIMERS 1
|
||||
#define CONFIG_configTIMER_TASK_PRIORITY 0
|
@ -1,159 +0,0 @@
|
||||
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
|
@ -1,19 +0,0 @@
|
||||
# Configuration support for FreeRTOS
|
||||
|
||||
## Overview
|
||||
|
||||
Every FreeRTOS project requires FreeRTOSConfig.h located in their include path.
|
||||
|
||||
## Reference configuration
|
||||
A complete FreeRTOSConfig.h file is located in this folder. Please use this file as a starting point. Every config option is documented in this file along with defaults that will build the demo projects but will almost certainly not be suitable for all ports or applications.
|
||||
|
||||
## Configuration Generator
|
||||
Alternatively, you can use the configuration generator to ask questions about your project and generate the FreeRTOSConfig.h automatically.
|
||||
|
||||
### Install kconfiglib
|
||||
The automatic generation requires kconfiglib which can be installed with python pip. This assumes you have python installed on your development machine.
|
||||
```
|
||||
pip3 install kconfiglib
|
||||
```
|
||||
|
||||
### Generating a configuration
|
@ -0,0 +1,7 @@
|
||||
# Configuration support for FreeRTOS
|
||||
|
||||
## Overview
|
||||
|
||||
Every FreeRTOS project requires FreeRTOSConfig.h located in their include path. In this folder you will find a sample FreeRTOSConfig.h that will assist you in preparing the configuration for your application.
|
||||
|
||||
The FreeRTOSConfig.h in this folder is used in the minimal_freertos_example project provided.
|
Loading…
Reference in New Issue