01
RTOS基础概念
什么是实时操作系统,任务与中断的区别,为什么需要整合。
实时系统中断
02
任务状态机
就绪、运行、阻塞、挂起状态详解,状态转换图。
状态机调度
03
任务优先级与调度策略
抢占式调度、时间片轮转、合作式调度。
优先级调度
04
任务创建与删除
API函数详解(如xTaskCreate),任务句柄与栈空间配置。
API栈
05
任务参数传递
如何向任务函数传递参数,指针与结构体的使用技巧。
指针结构体
06
任务删除与自我终止
vTaskDelete的使用场景,任务清理与资源释放。
资源释放清理
07
任务延时与阻塞
vTaskDelay与相对延时,vTaskDelayUntil与绝对延时。
延时阻塞
08
空闲任务与钩子函数
空闲任务的职责,空闲钩子的应用场景。
空闲钩子
09
任务通知
轻量级任务间通信,替代信号量的高效方案。
通知轻量
10
中断基础概念
中断向量表、中断优先级、中断嵌套。
向量表嵌套
11
中断服务函数(ISR)编写规则
短小精悍,避免阻塞,临界区保护。
ISR临界区
12
中断与任务的同步机制
二值信号量、计数信号量、事件标志组。
信号量事件组
13
中断中发送信号量
xSemaphoreGiveFromISR的使用,上下文切换请求。
FromISR切换
14
中断中发送消息队列
xQueueSendFromISR,队列锁与中断安全。
队列中断安全
15
中断中发送任务通知
xTaskNotifyFromISR,高效的中断到任务通信。
通知高效
16
中断延迟与抖动分析
中断响应时间、任务响应时间、最坏情况分析。
延迟抖动
17
临界区与中断屏蔽
taskENTER_CRITICAL/taskEXIT_CRITICAL,portDISABLE_INTERRUPTS。
临界区屏蔽
18
中断嵌套与优先级反转
优先级继承协议,互斥信号量的使用。
反转互斥
19
中断与任务共享资源保护
互斥信号量、守护任务、无锁编程。
共享无锁
20
中断服务中的时间测量
使用DWT或定时器测量ISR执行时间。
DWT测量
21
任务栈溢出检测
uxTaskGetStackHighWaterMark,栈空间优化策略。
栈溢出优化
22
任务与中断的调试技巧
RTOS内核调试视图,中断触发日志。
调试日志
23
低功耗与中断整合
Tickless模式,中断唤醒与任务调度。
低功耗Tickless
24
多核系统中的中断与任务
核间中断(IPI),任务亲和性设置。
多核IPI
25
中断驱动的任务设计模式
中断收集数据,任务处理数据。
驱动模式
26
任务与中断的优先级映射
如何将中断优先级映射到任务优先级。
映射优先级
27
中断服务中的浮点运算
FPU上下文保存,Lazy Stacking机制。
FPULazy
28
任务与中断的实时性测试
使用逻辑分析仪测量任务响应时间。
测试逻辑分析
29
常见整合错误与避坑指南
死锁、优先级反转、中断丢失。
死锁避坑
30
综合实战
构建一个包含多任务与多中断的嵌入式系统。
实战嵌入式