01
RTOS与裸机编程对比
为什么需要RTOS?前后台系统与RTOS的对比,FreeRTOS简介与特点。
对比基础
02
任务创建与管理
任务状态机(运行、就绪、阻塞、挂起),任务优先级,任务堆栈,xTaskCreate API详解。
任务API
03
任务调度机制
抢占式调度与时间片轮转,调度器启动与挂起,任务切换的底层原理。
调度内核
04
队列基础概念
队列是什么?队列的数据结构,队列的阻塞机制,队列的多任务通信模型。
队列通信
05
队列API详解
xQueueCreate、xQueueSend、xQueueReceive、xQueuePeek,超时时间设置。
API队列
06
队列实战
生产者-消费者模型,多任务数据采集系统,队列在中断中的使用。
实战中断
07
队列集
什么是队列集?xQueueCreateSet,多队列统一管理,实战:多传感器数据融合。
队列集传感器
08
队列的高级用法
队列的传递指针与传递结构体,队列的锁机制,队列的调试技巧。
指针调试
09
信号量基础概念
信号量的本质,二值信号量与计数信号量,信号量的阻塞机制。
信号量同步
10
二值信号量
xSemaphoreCreateBinary,xSemaphoreGive,xSemaphoreTake,中断与任务的同步。
二值中断
11
计数信号量
xSemaphoreCreateCounting,资源管理模型,实战:控制多个外设访问。
计数资源
12
互斥信号量
优先级反转问题,优先级继承机制,xSemaphoreCreateMutex,递归互斥量。
互斥优先级
13
信号量实战
任务同步、资源保护、事件通知,信号量与队列的选择策略。
实战策略
14
任务通知
轻量级信号量,xTaskNotifyGive,ulTaskNotifyTake,通知值传递。
通知轻量
15
任务通知实战
替代信号量与队列,任务通知的性能优势,注意事项与限制。
性能替代
16
软件定时器
xTimerCreate,定时器回调函数,自动重载与单次模式,定时器守护任务。
定时器回调
17
事件组
xEventGroupCreate,事件位操作,多事件同步,实战:多条件触发任务。
事件同步
18
流缓冲区
xStreamBufferCreate,流式数据传输,与队列的区别,实战:串口数据接收。
流式串口
19
消息缓冲区
xMessageBufferCreate,可变长度消息,消息边界保持,实战:网络协议解析。
消息协议
20
内存管理
heap_1到heap_5,动态内存分配策略,内存碎片问题,内存统计与调试。
内存heap
21
中断管理
FreeRTOS中断安全API,中断嵌套,延迟中断处理(Deferred Interrupt),临界区保护。
中断临界区
22
低功耗Tickless模式
Tickless原理,configUSE_TICKLESS_IDLE,实战:电池供电设备优化。
低功耗Tickless
23
多核与SMP支持
FreeRTOS SMP简介,任务亲和性,多核同步机制。
多核SMP
24
FreeRTOS+TCP
轻量级TCP/IP协议栈,Socket API,MQTT客户端实现。
TCP/IPMQTT
25
FreeRTOS+FAT
文件系统集成,SD卡读写,日志记录系统。
文件系统SD卡
26
FreeRTOS+CLI
命令行接口实现,调试命令定制,系统状态查询。
CLI调试
27
FreeRTOS Trace
运行时跟踪,任务状态监控,性能分析工具。
Trace监控
28
FreeRTOS安全机制
MPU保护,任务沙箱,安全关键系统设计。
安全MPU
29
FreeRTOS在STM32上的移植
移植步骤,中断向量表配置,系统时钟配置。
移植STM32
30
综合项目实战
多任务智能家居控制器,传感器采集、数据处理、显示、通信全流程实现。
项目智能家居