Smart Wear · 2026
智能穿戴手表
本项目采用 HAL 驱动层 → BSP 板级封装 → FreeRTOS 任务层 → LVGL 应用层,四层解耦架构:按职责拆分为喂狗、初始化、按键、传感器采集、UI、低功耗共 7 个独立任务,任务间通过 8 条消息队列以生产者-消费者模式通信,彻底替代全局变量实现线程安全。
传感器采集与 UI 渲染完全解耦,UI 通过"丢旧保新"数据队列拿到最新快照,按键/唤醒事件经事件队列单向流入,反向控制流(如心率 LED 开关)走独立命令队列,保证 LVGL 单任务独占访问;低功耗以「亮屏→STOP→关机」的功耗模型为主线,RTC 周期唤醒 + EXTI + 触摸三源唤醒,并与外部看门狗联动休眠禁狗、唤醒恢复;升级架构采用 32KB BootLoader + 480KB APP 双分区设计,Boot 侧以 Ymodem 协议经 BLE 模组 SPP 透传接收固件、写 "APP FLAG" 魔数校验后重定向 VTOR 可靠跳转,实现免拆机无线 OTA。
软件架构
5 层分层设计:GUI / 功能 / FreeRTOS / BSP / HAL / 硬件
LVGL 界面设计
SquareLine Studio · 19 屏界面,菜单 / 主页 / 心率 / 蓝牙
低功耗状态图
Active / 息屏 / STOP 睡眠 / 关机 · 三态电源管理与唤醒恢复流程
事件驱动机制
user_Queue.c · 生产者 / 队列数组 / 消费者 · 非阻塞分发策略
任务调度与资源分配
7 任务 / 8 队列 · CMSIS-RTOS V2 属性表 · tick=1ms 抢占式调度
渲染链路与屏幕导航
双缓冲 (2×40 行) + SPI1 DMA 异步刷屏 · 导航栈 NAV_STACK_MAX=8 · 13 屏