📘 Bootloader 升级协议 设计与实现

📚 30章 · 完整目录
01
什么是Bootloader · 嵌入式作用 · U-Boot / MCUBoot
02
协议定义 · 分层模型 · 设计原则
03
头部/数据/尾部 · 魔数版本 · HEX/SREC/BIN
04
UART · SPI · I2C · CAN · USB
05
起始符/长度/命令字 · 组包与拆包
06
设备发现 · 版本协商 · 状态机
07
块传输 · 流控 · 断点续传 · 重传
08
CRC8/16/32 · MD5/SHA256 · RSA/ECDSA
09
AES/ChaCha20 · 安全启动 · 防回滚
10
A/B分区 · 回滚 · 失败恢复
11
状态定义 · 转换图 · 持久化 · 异常处理
12
超时计算 · 指数退避 · 看门狗
13
错误码 · 分类 · 日志策略 · 调试接口
14
压缩 · 差分升级 · 并行 · 内存优化
15
广播/组播 · 主从同步 · 集群管理
16
蓝牙 · Wi-Fi · LoRa · NB-IoT · 安全
17
单元/集成/压力/边界测试
18
向前/向后兼容 · 扩展字段 · 版本协商
19
Flash分区 · RAM规划 · 向量表重映射 · MPU
20
冷/热启动 · 升级模式 · 超时处理
21
RSA/ECDSA · 签名生成 · 公钥管理
22
AES-GCM · ChaCha20 · ECDH · HKDF
23
bsdiff/xdelta · 差分包生成/应用 · 内存优化
24
分层架构 · 接口定义 · 初始化 · 裁剪
25
固件管理 · 设备管理 · UI · 批量升级
26
IETF · Modbus/CANopen · FOTA/SOTA
27
STM32 UART · ESP32 Wi-Fi · i.MX USB · CC2530 Zigbee
28
逻辑分析仪 · 抓包 · 串口/仿真器调试
29
STRIDE · 安全审计 · 渗透 · IEC 62443
30
AI辅助 · 区块链 · 边缘计算 · 量子安全