实时操作系统 · 中断服务程序与任务通信设计
📚 共计 30 章节
01
中断基础
中断的概念 · 中断向量表 · 中断优先级
⚡ 向量
🎯 优先级
02
ISR 设计原则
短小精悍 · 避免阻塞 · 不可重入问题
⏱️ 高效
🚫 阻塞
03
RTOS 中断管理
中断嵌套 · 中断延迟 · 临界区保护
🔁 嵌套
🛡️ 临界区
04
任务基础
任务状态 · 任务优先级 · 调度策略
🧵 状态
📊 调度
05
任务间通信概述
为什么需要通信 · 通信方式分类
📬 通信
🧩 分类
06
信号量
二值信号量 · 计数信号量 · 互斥信号量
🔴 二值
🔢 计数
🔒 互斥
07
信号量在ISR与任务通信
ISR释放信号量 · 任务获取信号量
⚡ ISR
📨 释放
08
消息队列
队列原理 · 创建与删除 · 发送与接收
📤 发送
📥 接收
09
消息队列在ISR与任务通信
ISR发送消息 · 任务接收消息
📨 ISR→任务
🧾 队列
10
事件标志组
事件机制 · 置位与等待 · 多事件同步
🚩 标志
⏳ 等待
11
事件标志组在ISR与任务通信
ISR设置事件 · 任务等待事件
⚡ 置位
🧑💻 等待
12
邮箱
邮箱原理 · 与消息队列的区别 · 典型应用
📯 邮箱
📌 区别
13
管道
管道概念 · 在RTOS中的实现 · 与队列对比
🔗 管道
⚖️ 对比
14
共享内存与保护
共享内存原理 · 互斥量保护 · 缓存一致性
🧠 共享
🔐 互斥
15
中断延迟与任务响应时间
中断延迟来源 · 测量方法 · 优化策略
⏳ 延迟
📏 测量
16
优先级反转与解决方案
优先级反转现象 · 优先级继承 · 天花板
🔄 反转
⬆️ 继承
17
死锁
死锁产生条件 · 预防与避免 · 银行家算法
🔒 死锁
🏦 银行家
18
看门狗与ISR
硬件看门狗 · 软件看门狗 · 在ISR中喂狗
🐕 看门狗
🍖 喂狗
19
时钟中断与系统Tick
系统Tick作用 · Tick ISR实现 · 时间管理
⏰ Tick
🕒 时间
20
软件定时器
定时器原理 · 回调函数 · 与硬件定时器区别
⏱️ 软定时
🔁 回调
21
中断下半部处理
Tasklet · 工作队列 · 软中断
⬇️ 下半部
🧹 Tasklet
22
零拷贝通信
零拷贝原理 · ISR与任务间实现 · DMA配合
📀 零拷贝
⚡ DMA
23
无锁编程
原子操作 · 内存屏障 · 在ISR中的应用
🔓 无锁
🧱 屏障
24
实时性能分析
WCET分析 · 响应时间分析 · 调度分析
📊 WCET
⏱️ 响应
25
多核系统中断与通信
核间中断(IPI) · 核间通信 · 缓存一致性
🖥️ 多核
📡 IPI
26
典型RTOS对比
FreeRTOS · uC/OS-III · RT-Thread 中断与通信
🆚 对比
⚙️ FreeRTOS
27
案例:数据采集系统
ADC中断与数据处理任务
📊 ADC
📈 采集
28
案例:网络协议栈
网卡中断与协议处理任务
🌐 网络
📡 中断
29
案例:电机控制
PWM中断与控制算法任务
⚡ PWM
🔄 控制
30
综合项目:智能传感器节点
多中断源与多任务协同设计
🧠 传感器
🤝 协同