(二)FreeRTOS学习之FreeRTOS任务切换

转行小白一枚,通过博客记录个人学习,望更多博友多多指点,感激不尽!
RTOS系统的核心是任务管理,任务管理的核心是任务切换;任务切换决定了任务的执行顺序,任务切换效率的高低也决定了一块系统的性能。
PendSV异常
FreeRTOS任务切换场合
PendSV中断服务函数
查找下一个要运行的任务
一、PendSV异常
PendSV(可挂起的系统调用)异常对OS操作非常重要,其优先级可通过编程设置;若将PendSV设置为最低的异常优先级,可以让PendSV异常处理在所有其他中断处理完成后执行,对上下文切换非常有用,也是OS设计中的关键。
上下文切换被触发的场合:
*执行一个系统调用
*系统滴答定时器(SysTick)中断
在OS中,任务调度器决定是否应该执行上下文切换;若中断请求(IRQ)在SysTick异常前产生,则SysTick异常可能会抢占IRQ的处理,OS不应该执行上下文切换,否则中断请求IRQ处理就会被延迟,当存在活跃的异常服务时,设计默认不允许返回到线程模式,若存在活跃中断服务,且OS试图返回到线程模式,则将触发用法fault。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值