RTOS上下文保存

RTOS上下文切换通过PendSV异常实现,核心机制为"硬件自动保存 + 软件手动补栈"。

1. 硬件自动保存

CPU响应PendSV时,自动将调用者保存寄存器 (R0-R3、R12)以及返回地址(LR)、程序状态(xPSR)压入当前任务的进程栈(PSP)

2. 软件手动补栈

PendSV处理程序中,显式执行PUSH {R4-R11},保存被调用者保存寄存器,补齐完整上下文。

3. TCB锚定

将更新后的PSP值存入当前任务的任务控制块(TCB),实现栈与任务的绑定。

4. 恢复对称操作

从目标任务的TCB加载PSP,POP {R4-R11}恢复寄存器,异常返回时硬件自动弹出剩余上下文,任务无缝继续执行。


总结一句话就是::

上下文保存 = 硬件自动压栈(R0-R3,R12,LR,PC,xPSR) + 软件手动压栈(R4-R11),最终将 PSP 存入 TCB。

相关推荐
weixin_448119944 小时前
Datawhale 硅基生物进化论 202602第3次笔记
笔记
winfreedoms5 小时前
ROS2坐标转换,正解反解——黑马程序员ROS2课程上课笔记(5)
人工智能·笔记
EmbedLinX7 小时前
C语言标准库stdlib.h
c语言·开发语言·笔记
蒸蒸yyyyzwd10 小时前
os八股学习笔记
笔记·学习
Yeh20205810 小时前
2月14日笔记
笔记
不想看见40410 小时前
House Robber 基本动态规划:一维--力扣101算法题解笔记
笔记·算法·leetcode·代理模式
日光倾10 小时前
【Vue.js 入门笔记】Git入门
笔记·git
菩提小狗10 小时前
第16天:信息打点-CDN绕过&业务部署&漏洞回链&接口探针&全网扫描&反向邮件_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·web安全
山岚的运维笔记10 小时前
SQL Server笔记 -- 第69章:时态表
数据库·笔记·后端·sql·microsoft·sqlserver