⏲️ 抢占式调度内核
30 章 · 从零到实战
🎒 友好色系 · 专业内核
01
抢占式调度概述
⚡ 抢占 vs 协作
核心优势
02
任务状态机
就绪/运行/阻塞/挂起
转换条件
03
任务控制块 (TCB)
数据结构
栈指针·优先级·状态
04
任务优先级
静态/动态
优先级位图算法
05
就绪队列设计
双向链表
插入/删除
06
系统节拍与时间片
SysTick
时间片轮转
07
PendSV 异常
上下文切换触发
PendSV 作用
08
上下文切换 (上)
寄存器现场
栈帧结构
09
上下文切换 (下)
汇编实现
切换流程·常见错误
10
调度器启动
启动第一个任务
SVC 异常
11
临界区保护
关中断
嵌套·实时性影响
12
调度锁
实现方式
与关中断区别
13
任务创建
动态/静态
栈分配·API
14
任务删除
自我删除
资源回收
15
阻塞延时
软件延时 vs 阻塞
延时列表
16
信号量 (上)
二值/计数
等待与释放
17
信号量 (下)
优先级反转
继承协议
18
互斥量
与二值信号量区别
递归·死锁预防
19
消息队列
环形缓冲区
阻塞发送/接收
20
事件标志组
独立/组合型
等待与设置
21
软件定时器
状态机
回调·命令队列
22
内存管理
静态内存池
动态分配·碎片处理
23
中断管理
中断嵌套
同步·延迟优化
24
多核调度基础
SMP
核间中断·负载均衡
25
功耗管理
Tickless
WFI·空闲钩子
26
调度器性能分析
上下文切换时间
WCET
27
实时性分析
可调度性
响应时间·利用率
28
调试与追踪
栈溢出检测
Trace工具
29
常见问题与避坑
优先级反转·死锁
饥饿·工程案例
30
综合实战
微型抢占式内核
任务·信号量·队列