中断基础(Interrupt Basics)
中断是RTOS中最底层的异步执行入口机制,用于将外部/内部事件转换为系统可调度行为。
一、中断本质
中断用于打断当前执行流,并跳转到ISR处理事件。 本质是:异步事件 → 同步执行路径。
在嵌入式系统中,中断替代轮询机制,使系统具备实时响应能力并降低CPU浪费。
二、中断在RTOS中的作用
中断 → 唤醒任务 → 更新就绪队列 → 触发调度 → 可能发生上下文切换
中断本身不执行任务,但会改变系统状态并触发调度行为。
三、中断执行流程
1. 事件发生
2. 中断触发
3. 保存上下文(PC/SP/寄存器)
4. 跳转ISR
5. 处理事件
6. 清除中断标志
7. 恢复上下文
8. 返回或触发调度
四、中断核心结构
中断源
外设 / 定时器 / 软件事件
中断控制器
优先级管理与分发
向量表
中断入口映射
ISR
实际执行处理逻辑(需短路径)
五、上下文保存
中断发生时必须保存执行现场,否则任务无法恢复。
保存内容:
- PC
- SP
- 通用寄存器
- 状态寄存器
- 可选FPU
保存越多,延迟越大。
六、中断与调度
中断可能触发调度,但不直接执行任务。
中断 → 状态变化 → 就绪队列更新 → 调度器 → 任务切换
七、优先级与嵌套
优先级
决定中断抢占关系
嵌套
允许高优先级中断打断低优先级
八、实时性影响
中断延迟是RTOS关键指标,决定系统响应能力上限。
约束:
中断延迟 ≤ 上界
ISR执行时间 ≤ 可控范围
九、本质总结
中断是RTOS时间模型入口,用于将外部事件转换为可调度系统行为。
中断 = 事件触发 + 状态变化 + 调度入口
核心作用:
- 异步转同步
- 触发系统调度
- 构建实时性基础
系统关联路径
RTOS执行链:事件 → 中断 → 调度 → 切换 → 执行