五 B / 无线固件升级 / 学习路线
支线五 B:从程序启动到可靠无线升级
先补启动、镜像与 Flash,再通过普通文件模型实际观察暂存、试运行和回退。最后设计手机到主控的链路与验证顺序。
先准备什么
主线存储、无线协议、复位与 C 指针;启动过程在第一篇补齐。
先从能看见结果的小实验开始,遇到问题再增加代码。已学过的采样、协议与任务知识通过链接接回,项目中尚未实现的部分会明确标注。
按这条顺序学习
00 / 6 篇
上电以后,处理器怎样走到 main
先认识程序存放位置、复位入口和启动代码,再引入负责选择应用的启动加载程序。当前手表尚未实现完整无线固件升级。
01 / 6 篇固件文件怎样变成可以执行的镜像
从 ELF、HEX、BIN 的区别进入 Flash 存储,再明确镜像清单与分区需要记录什么。每项元数据都有启动或检查上的用途。
02 / 6 篇接收到一半断开,为什么旧程序必须还在
从失败场景反推暂存和状态记录。用两个普通文件实际收一份候选内容,每次命令结束后都可以重新读取进度。
03 / 6 篇新程序能启动,就算升级成功了吗
把候选、试运行、确认和回退画成状态变化,再通过重新启动文件模型观察每个分支。
04 / 6 篇手机到主控,怎样接起一条升级链
复用已经学过的字节流和可靠事务知识,把升级文件、链路分块、Flash 接收与 App 状态连起来,明确两个芯片的边界。
05 / 6 篇每一步中断之后,设备应该怎样恢复
先在普通文件模型执行明确的失败路径,再制定实际硬件的验证顺序。完成设计时,要能解释每次重启依据哪份记录做决定。
怎样接回项目
阅读 当前模块说明,把本支线的小实验与现有数据路径逐项对应。示例按页内说明放置,不用整段替换生产工程。
练习与资料
所有样式、图解与交互随教程提供;外部官方资料和项目源码链接需要联网。配套实验见 tutorial/examples/branches 与 tutorial/examples/flutter_watch。