UCOS-II OSIntCtxSw函数移植

clip_image002

OSIntCtxSw()的代码的OSCtxSw()下半部分的代码基本上一样。因为OSIntCtxSw()是在OSINTEXIT()中调用的。也就是在中断服务程序中调用的。在进入中断服务时,寄存器值已经被保存到了被中断任务的堆栈里。所以OSIntCtxSw()里不需要再保存。

OSIntCtxSw()得到待运行任务的任务控制块地址,根据控制块地址得到待运行任务的堆栈指针。然后把待运行任务的堆栈内容放到寄存器中,实现任务切换功能。

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发