可抢占调度与合作调度模式
在FreeRTOS中,可以配置相应的宏configUSE_PREEMPTION来设置调度的模式。
含义
可抢占调度模式:
高优先级的任务可以打断低优先级的任务,只有当高优先级的任务进入阻塞或挂起时,低优先级的任务才可以执行。
合作调度模式:
禁止抢占,不论优先级高低,都遵循谁先来到,谁运行。前面的任务不进入阻塞或挂起,后面的任务就不能够执行。
宏开关
在FreeRTOSConfig.h中,设置宏开关。具体操作如下:

当这个宏为1时,设置为可抢占调度模式。
当这个宏为0时,设置为合作调度模式。
在FreeRTOS中,常用的设置为可抢占调度模式。
时间片轮转
在FreeRTOS中,可以配置相应的宏configUSE_TIME_SLICING来设置是否进行时间片轮转。
含义
时间片轮转对应的是同级别优先级的任务,这需要先设置为可抢占调度模式。
允许时间片轮转:
同级别的优先级的任务交替执行,交替执行的周期可以设置,默认为1ms。交替执行的周期设置可以查看博文“FreeRTOS_任务管理”中的“多任务交替执行的原理”章节,下面是博文链接:
禁止时间片轮转:
同级别的优先级的任务禁止交替执行,遵循谁先来到,谁运行。前面的任务不进入阻塞或挂起,

最低0.47元/天 解锁文章
3401

被折叠的 条评论
为什么被折叠?



