Config parameters
Kernel settings
USE_PREEMPTION 抢占
Set to 1 to use the preemptive RTOS scheduler, or 0 to use the cooperative RTOS scheduler
使用抢占调度模式,使用合作调度模式CPU_CLOCK_HZ CPU时钟频率
TICK_RATE_HZ
Sets the tick interrupt frequency, The value is specified in Hz
设置tick中断频率MAX_PRIOPITIES
Sets the maximum priority that can be assigned to a task.
Tasks can be assigned a priority from zero, which is the lowest priority, to (MAX_PRIORITIES-1), which is the highest priority.
设置线程可分配的最大的优先级数MINIMAL_STACK_SIZE
Sets the size of the stack allocated to the idle task. The value is specified in words (here, of 32 bits), not bytes.
设置线程可使用的栈空间大小MAX_TASK_NAME_LEN
Sets the maximum number of characters that can be used for the name of a task. The NULL terminator is included in the count of characters.
设置线程名字字符大小,终止符和NULL包括在内USE_16_BIT_TICKS
The tick count is held in a variable of type portTickType.IDLE_SHOULD_YIELD
IDLE_SHOULD_YIELD controls the behavior of the idle task if there are application tasks that also run at the idle priority
It only has an effect if the preemptive scheduler is being used.
使能空闲运行行程USE_MUTEXES
Set to 1 to include mutex functionality in the build, or 0 to omit mutex functionality from the build.
1在编译时包含互斥功能,0忽略互斥USE_RECURSIVE_MUTEXES
Diagnostic: Both values allowed when configUSE_MUTEXS equals to 1.
Sets to 1 to include recursive mutex functionality in the build, or 0 to omit recursive mutex functionality from the build.
设置递归互斥USE_COUNTING _SEMAPHORES
Set to 1 to include counting semaphore functionality in the build, or 0 to omit counting semaphore functionality from the build
设置信号量计数功能QUEUE_REGISTRY_SIZE
The queue registry has two purposes, both of which are associated with RTOS kernel aware debugging:
1.It allows a textual name to be associated with a queue for easy queue identification within a debugging GUI.
2.It contains the information required by a debugger to locate each registered queue and semaphore.
The queue registry has no purpose unless you are using a RTOS kernel aware debugger.
设置队列寄存器大小USE_APPLICATION_TASK_TAG
USE_APPLICATION_TASK_TAG must be defined as 1 for the vTaskSetApplicationTaskTag function to be available.
This function is intended for advanced users only.
A ‘tag’ value can be assigned to each task. This value is for the use of the application only - the RTOS kernel itself does not make use of it in any way.
The FreeRTOS trace macros documentation provides a good example of how an application might make use of this feature.ENABLE_BACKWARD_COMPATIBILITY
开启向下兼容模式USE_PORT_OPTIMISED_TASK_SELECTION
优化线程选择- USE_TICKLESS_IDLE
By setting the configUSE_TICKLESS_IDLE, the idle task suppresses ticks and the processor stays in a low power mode for as long as possible.
利用滴答时钟空闲 - USE_TASK_NOTIFICATIONS
Each RTOS task has a 32-bit notification value . An RTOS task notification is an event sent directly to a task that can unblock the receiving task, and optionally update the receiving task’s notification vaule.
使用线程通知
Memory management settings
- Memory Allocation
内存分配方式,动态,静态,动/静态 - TOTAL_HEAP_SIZE
总内存堆大小设置 - Memory Management scheme
内存管理方案 heap_1.2.3.4
Hook function related definitions
- USE_IDLE_HOOK
- USE_TICK_HOOK
- USE_MALLOC_FAILED_HOOK
- USE_DAEMON_TASK_STARTUP_HOOK
- CHECK_FOR_STACK_OVERFLOW
Run time and task stats gathering related definitions
- GENERATE_RUN_TIME_STATS
- USE_TRACE_FACILITY
- USE_STATS_FORMATTING_FUNCTIONS
Co-routine related definitions
- USE_CO_ROUTINES
- MAX_CO_ROUTINE_PRIORITIES
Software timer definitons
- USE_TIMERS
Interrupt nesting behaviour configuration
- LIBRARY_LOWEST_INTERRUPT_PRIORITY
- LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY