FreeRTOS任务切换

任务切换到本质是CPU寄存器的切换

任务切换3个概念:保存现场、恢复现场、上下文切换。

将CPU寄存器PUSH到任务块堆栈中,这个过程称保存现场。

将任务堆栈POP到CPU寄存器中,这个过程称恢复现场。

任务A切换任务B:对任务A保存现场,堆任务B恢复现场的这个过程就是上下文切换。

FreeRTOS任务切换到过程在PendSV中断服务函数里面完成。

PendSV中断触发条件:实际是ICSR寄存器bit28位置1触发

  1. 滴答定时器中断调用

进入分析xTaskIncrementTick()

return xSwitchRequired;

退出分析xTaskIncrementTick()

执行FreeRTOS的API函数portYIELD()触发PendSV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值