🩸
血糖仪 · RTOS 移植与优化实战
基于 STM32F407 + FreeRTOS · 30 章完整体系
📚 全量目录
30
章
01
血糖仪项目概述
背景
项目背景 · STM32F407+试纸接口 · 功能需求分析
→
02
RTOS选型分析
对比
FreeRTOS / uC/OS-III / RT-Thread 对比 · 为什么选择FreeRTOS
→
03
FreeRTOS源码结构
概览
核心文件 · 内存管理 · 任务调度 · 队列 · 信号量
→
04
移植环境搭建
Keil MDK
工程创建 · 芯片启动文件 · 系统时钟配置
→
05
FreeRTOS内核移植
port
port.c / portmacro.h 修改 · SysTick中断配置
→
06
内存管理配置
heap
heap_1~heap_5 选择 · STM32F407优化策略
→
07
任务创建与管理
调度
任务函数 · 优先级设计 · 状态切换
→
08
血糖测量任务设计
ADC
ADC采样 · 试纸识别算法 · 测量状态机
→
09
显示任务设计
LCD
LCD驱动移植 · UI框架 · 实时数据刷新
→
10
按键输入任务设计
交互
按键消抖 · 长按/短按 · 菜单导航
→
11
数据存储任务设计
EEPROM
EEPROM驱动 · 历史记录存储/读取 · 数据校验
→
12
通信任务设计
UART/蓝牙
UART协议解析 · 蓝牙模块驱动 · 数据上传
→
13
任务间通信机制
队列
测量结果传递 · 按键事件传递 · 队列应用
→
14
信号量与互斥量
同步
资源保护(LCD/EEPROM) · 同步机制
→
15
软件定时器应用
定时
定时校准提醒 · 自动关机 · 周期性上传
→
16
中断管理
ISR
ADC中断 · 定时器中断 · 外部中断与任务同步
→
17
低功耗优化
Tickless
Tickless模式 · 睡眠配置 · 待机电流优化
→
18
任务堆栈优化
MPU
堆栈大小计算 · 溢出检测 · MPU保护
→
19
实时性分析
WCET
任务响应时间测量 · 最坏情况执行时间分析
→
20
优先级反转问题
互斥
问题复现 · 优先级继承 · 互斥量解决方案
→
21
死锁预防
算法
资源分配图 · 银行家算法 · 锁顺序规范
→
22
系统启动流程
启动
硬件初始化 · RTOS启动 · 任务创建顺序优化
→
23
调试与日志
RTT
SEGGER RTT · 任务状态监控 · 性能分析
→
24
单元测试框架
Unity
Unity/CMock 嵌入式应用 · 任务行为测试
→
25
集成测试
HIL
硬件在环测试 · 模拟试纸输入 · 边界条件
→
26
代码优化
编译
编译优化选项 · 链接脚本 · 代码尺寸/速度平衡
→
27
安全性与可靠性
看门狗
看门狗 · 数据备份 · 异常处理机制
→
28
量产烧录与校准
生产
批量测试流程 · 校准参数管理 · 固件升级
→
29
案例分析
复盘
某品牌血糖仪RTOS问题复盘 · 死机/数据丢失/响应慢
→
30
课程总结与展望
未来
RTOS发展趋势 · 血糖仪智能化 (AI辅助诊断/云端管理)
→