🩸

血糖仪 · 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辅助诊断/云端管理)