FreeRTOSConfig.h文件
作用:
对FreeRTOS系统进行功能配置和裁剪,以及API函数的使能
一般分为三大类:
1.INCLUDE开头类
配置FreeRTOS中可选的API函数
2.config开头类
完成FreeRTOS的功能配置和裁剪,比如信号量,互斥锁,队列灯
3.其他
PendSV宏定义,SVC宏定义
//---------------------------------------------------------------------------------------------------------------------------
configUSE_PREEMPTION:
值为 1 代表抢占式调度,为0代表协程式调度
configUSE_PORT_OPTIMISED_TASK_SELECTION:
值为1代表使用通用方式来选择下一个要执行的任务,为0则代表使用特殊方式。其中通用方式不限制任务优先级的最大值,使用软件算法。特殊方式则跟硬件相关,需要使用特定的架构汇报指令,且任务优先级有限制
configUSE_TICKLESS_IDLE:
1:使用tickless低功耗模式
configCPU_CLOCK_HZ:
cpu主频
configSYSTICK_CLOCK_HZ:
定义SysTick时钟频率,当SysTick时钟频率与内核时钟频率不同时才可以定义
configTICK_RATE_HZ:
滴答定时器的频率,单位hz,一般为1000,也就是1ms 中断频率
configMAX_PRIORITIES:
最大优先级数
configMINIMAL_STACK_SIZE:
空闲任务的堆栈大小,单位是字,转换为字节则需要乘4。
configMAX_TASK_NAME_LEN:
任务最大名字大小
configUSE_16_BIT_TICKS:
定义系统时钟节拍计数器的数据类型。1:为无符号16位,0:为无符号32位。一般与configTICK_RATE_HZ配合使用后,可以得出任务中最大的延时或者阻塞时间
configIDLE_SHOULD_YIELD:
如果使用的是抢占式调度,此宏设为1后,同优先级的任务可以抢占空闲任务
官网介绍: