freertos系统学习---freertosconfig.h

1,系统调度:

#define configUSE_PREEMPTION					1      
//1使用抢占式内核,0使用协程

(1)抢占式调度(推荐)
高优先级总是选择优先级最高的任务进行调度。
(2)协作式调度
由任务主动放弃CPU,然后进行任务调度。

2,时间片调度(默认是使能)

#define configUSE_TIME_SLICING					1
//1使能时间片调度(默认式使能的)

优先级相同时多个任务间进行任务切换。
3,选择下一个要执行的任务

#define configUSE_PORT_OPTIMISED_TASK_SELECTION	1
//1启用特殊方法来选择下一个要运行的任务

(1)通用方法
软件方法扫描就绪列表
(2)特殊方法
依赖汇编指令
4,低功耗模式

#define configUSE_TICKLESS_IDLE					0
//1启用低功耗tickless模式

5启用队列

#define configUSE_QUEUE_SETS					1
//为1时启用队列

6,CPU频率设置

#define configCPU_CLOCK_HZ						(SystemCoreClock)
//CPU频率

如果系统时钟72MHZ SystemCoreClock = SYSCLK_FREQ_72MHz
7,时钟节拍频率

#define configTICK_RATE_HZ						(200)
//时钟节拍频率,这里设置为200,周期就是5ms

8,可用最大优先级

#define configMAX_PRIORITIES					(24)  
//可使用的最大优先级

9,空闲任务使用的堆栈大小,

#define configMINIMAL_STACK_SIZE				((unsigned short)130)   
//空闲任务使用的堆栈大小,大小为130*4个字节

10,#define configMINIMAL_STACK_SIZE ((unsigned short)130) //空闲任务使用的堆栈大小

11,任务名字字符串长度,这个宏用来定义该字符串的最大长度。这里定义的长度包括字符串结束符’\0

#define configMAX_TASK_NAME_LEN					(16)
//任务名字字符串长度

12,系统节拍计数器变量数据类型,1表示为16位无符号整形,0表示为32位无符号整形,

#define configIDLE_SHOULD_YIELD					1 
//为1时空闲任务放弃CPU使用权给其他同优先级的用户任务

13,控制任务在空闲优先级中的行为,空闲任务放弃CPU使用权给其他同优先级的用户任务

#define configIDLE_SHOULD_YIELD					1  
//为1时空闲任务放弃CPU使用权给其他同优先级的用户任务

14 ,开启任务通知功能,默认开启

#define configIDLE_SHOULD_YIELD					1
//为1时空闲任务放弃CPU使用权给其他同优先级的用户任务
在这里插入代码片

你可能感兴趣的:(嵌入式)