🔬 内窥镜Bootloader
30章 · 实战
固件升级 · 安全 · 医疗合规
📚 目录导航 · 点击卡片跳转
01
导论
课程导论与项目全景
内窥镜系统架构 · Bootloader角色 · 行业标准与法规
02
硬件
硬件平台选型与启动流程
MCU对比(STM32MP1/i.MX8) · 存储选型 · 上电启动
03
核心
Bootloader核心原理
地址映射 · 中断向量表重定向 · 启动模式
04
双备份
双备份启动策略 (A/B分区)
A/B分区原理 · 版本回滚 · 故障自动恢复
05
安全
固件签名与安全校验
SHA256 · RSA/ECDSA签名 · 安全启动链
06
加密
固件加密与解密
AES-256-GCM · 密钥管理 · HSM集成
07
协议上
通信协议设计 (上)
Ymodem串口升级 · 帧结构 · CRC重传
08
协议下
通信协议设计 (下)
MQTT/HTTP远程升级 · 断点续传 · 云端对接
09
存储
存储驱动开发
NOR Flash(SPI) · eMMC(MMC) · 坏块管理
10
工程
Bootloader工程搭建
STM32CubeIDE · 链接脚本 · 启动汇编
11
中断
中断向量表重定向实战
VTOR配置 · 中断跳转 · 双向量表
12
固件包
固件包格式设计
包头结构(魔数/版本/长度) · 封装解析
13
下载
固件下载流程实现
接收帧 · 写入Flash · 进度反馈 · 超时
14
校验
固件完整性校验
CRC32/SHA256 · 签名验证 · 失败处理
15
解密
固件解密流程实现
AES-GCM移植 · 解密上下文 · DMA加速
16
版本
版本管理与回滚机制
版本比较 · 回滚标志 · 安全回滚
17
看门狗
看门狗与异常处理
IWDG配置 · 死锁检测 · 异常日志
18
状态机
升级状态机设计
IDLE/READY/UPDATING · 状态转换图
19
上位机上
上位机工具开发 (上)
PyQt5框架 · 串口通信 · 固件解析
20
上位机下
上位机工具开发 (下)
进度条 · 日志 · 多线程 · 异常处理
21
服务器
远程升级服务器搭建
Flask API · 数据库 · 用户认证
22
客户端
设备端远程升级客户端
Wi-Fi/以太网 · MQTT · HTTP下载
23
分区
多分区管理与擦除策略
Boot/App/配置/日志分区 · 擦除对齐
24
低功耗
低功耗与升级安全
功耗控制 · 电池监测 · 低电量保护
25
生产
生产烧录与测试
工厂烧录 · 批量工具 · 产线测试
26
压力
故障注入与压力测试
Flash错误模拟 · 通信中断 · 异常断电
27
认证
医疗认证与合规
IEC 62304 · FDA网络安全 · 风险管理
28
实战
OTA升级实战案例
完整OTA流程 · 常见问题排查
29
优化
性能优化与内存分析
代码尺寸优化 · 启动时间 · RAM分析
30
展望
课程总结与未来展望
TLS/PSA认证 · AI固件安全 · Q&A