FCC RTOS 移植与优化实战
⏱️ 30章 · 从内核到项目 · 手把手精通
🧑🎓
友好 · 专业深度
01
FCC RTOS 概述
开篇
实时系统概念
发展历程
核心特性
应用场景
02
内核架构
任务&对象
任务调度器
任务状态机
队列/信号量
互斥量/事件组
消息邮箱/定时器
03
移植前准备
平台&工具链
目标硬件分析
CPU/内存映射
GCC/ARMCC/IAR
源码目录结构
04
移植核心(一)
中断&异常
PendSV/SysTick/SVC
中断服务函数
优先级配置
05
移植核心(二)
上下文切换
任务栈初始化
任务创建/删除
汇编切换实现
Cortex-M 实例
06
移植核心(三)
系统时钟节拍
SysTick配置
时钟节拍中断
系统时间管理
07
移植核心(四)
临界区&中断
进入/退出临界区
中断使能/禁止
可嵌套中断支持
08
移植核心(五)
内存管理
堆内存初始化
分配/释放函数
内存碎片处理
09
移植验证与调试
测试&调试器
任务调度测试
中断响应测试
内存泄漏检测
J-Link/ST-Link
10
FCC RTOS 配置详解
FreeRTOSConfig
configUSE_PREEMPTION
configTICK_RATE_HZ
configTOTAL_HEAP_SIZE
配置裁剪优化
11
任务管理优化
优先级&栈
优先级设计原则
栈大小估算
状态监控调试
12
任务间通信优化
队列深度
队列深度/消息大小
阻塞与超时
队列性能分析
13
同步与互斥优化
信号量&互斥量
选择策略
优先级反转/继承
事件标志组高效使用
14
软件定时器优化
回调&精度
回调执行上下文
定时器精度与Tick
资源管理
15
中断管理优化
ISR设计
ISR设计原则
中断延迟分析
ISR中使用API
16
内存优化
静态/动态/池
静态 vs 动态
内存池使用
堆碎片整理
17
低功耗优化
Tickless
Tickless模式
空闲任务钩子
睡眠与唤醒
18
性能分析与调优
测量&统计
任务切换时间
中断响应时间
CPU利用率
系统负载分析
19
多核与SMP支持
核间通信
多核移植要点
核间通信/同步
负载均衡
20
MPU内存保护
任务隔离
MPU配置
特权/非特权任务
防止内存越界
21
文件系统集成
FatFS
FCC RTOS + FatFS
文件操作任务化
性能优化
22
网络协议栈集成
LwIP
LwIP集成
网络任务设计
Socket + RTOS
23
USB协议栈集成
TinyUSB
USB协议栈集成
中断处理与调度
设备/主机应用
24
GUI系统集成
LVGL
LVGL图形库
刷新率优化
触摸屏管理
25
安全关键系统设计
监控&看门狗
安全架构
任务监控/看门狗
故障恢复
26
单元测试与集成测试
Unity/CMock
Unity/CMock
任务行为模拟
覆盖率分析
27
持续集成与自动化部署
CI/CD
Git版本控制
Jenkins/GitLab CI
自动化构建
28
实战项目一
智能家居网关
多传感器采集
Wi-Fi通信
云平台对接
29
实战项目二
工业电机控制器
高精度定时
CAN总线通信
实时性保障
30
实战项目三
便携医疗设备
低功耗设计
安全关键任务
数据记录/显示