CMSIS RTOS2学习笔记day3

本文详细介绍了在CMSIS RTOS2中,如何管理分时调度策略下的时间片,强调了时间片更新的重要性。从轮询调度时间设置开始,解释了默认的5ms时间片,并探讨了如何在系统时钟与任务运行时间比较中进行任务切换。此外,还提到了任务延时和定时器的配置,为理解RTOS2的调度策略提供了深入见解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天来看下分时调度策略下时间片的管理,需要注意的一个问题是:无论是实时抢占还是分时调度,时间片的更新是一定需要有的。
方便起见,从时间片设置开始介绍:Round-Robin是轮询调度,轮询调度时间是5ms,
在这里插入图片描述
然后看到OS_ROBINTOUT是
v
看到上面的英文可以看到,默认的调度时间为5ms。当然也没什么需要修改的必要。
顺着下来,这个值应该是在一个systemtick中和任务运行时间进行比较.。
这是一个全区遍历,好多任务共用一个,每次切换任务,都会把这个东西复位,重新进行处理。
在这里插入图片描述
这次就是来检查运行时间的。如果检查到正在运行的时间已经超过tout,那么就应该切换下一个任务。额…懂啦。上述代码可以看出分配给每个任务运行的时间是,当前ostime加上超时时间(时间片)。那么当系统时间ostime到达这个时间的时候,就可以进行切换了。
在这里插入图片描述
这里有一个延时任务的更新,这是专门是任务延时使用的。rt_dec_dly()就是专门针对任务延时的,延时时间到了之后,就放置优先正常队列中。
在这里插入图片描述
这里应该是定时器的配置。
到这里,我们的内核之旅就结束啦。下一章总结下这个内核的调度策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值