OTA Bootloader 开发手记
📚 30章 · 从入门到实战
🧩 友好色系 · 点击卡片跳转章节
📁 01.html ~ 30.html
01
Bootloader概述
什么是Bootloader
OTA概念
为什么需要
MCU位置
02
硬件平台选型
Cortex-M/RISC-V/8051
Flash/RAM
外设接口
03
开发环境搭建
Keil/IAR/STM32CubeIDE
编译器优化
Linker Script
J-Link/ST-Link
04
存储器架构
Flash分区策略
读写特性
擦除寿命
磨损均衡
05
启动流程分析
复位向量
堆栈初始化
时钟配置
跳转App
06
中断向量表重映射
VTOR寄存器
偏移映射
动态重映射
踩坑记录
07
固件签名与校验
SHA256
RSA/ECDSA
签名验证
安全启动链
08
固件加密与解密
AES对称加密
密钥管理
硬件加密引擎
性能优化
09
通信协议设计
自定义帧结构
CRC校验
超时重传
多包重组
10
UART Bootloader
串口驱动
Ymodem协议
数据校验
断点续传
11
SPI Flash驱动
SPI时序
W25Qxx系列
分区管理
读写测试
12
SD卡/FATFS文件系统
SDIO驱动
FATFS移植
文件读写
固件管理
13
以太网Bootloader
LWIP协议栈
TCP/UDP
HTTP下载
TFTP实现
14
Wi-Fi/BLE无线升级
ESP8266/ESP32 AT
蓝牙OTA
低功耗策略
15
CAN Bus Bootloader
CAN协议基础
ISO 15765-2
多节点升级
总线仲裁
16
USB DFU实现
USB设备类
DFU协议
DfuSe/DfuUtil
驱动安装
17
双Bank启动策略
Bank切换
回滚保护
失败恢复
状态机
18
看门狗与异常处理
IWDG配置
超时复位
异常捕获
安全状态机
19
固件版本管理
版本号编码
兼容性检查
强制升级
降级保护
20
Flash编程算法
解锁/擦除/编程
写保护
错误处理
速度优化
21
Bootloader与App交互
共享内存区
标志位传递
状态同步
复位原因
22
上位机工具开发
Python PyQt5 GUI
串口调试
固件打包
自动化测试
23
命令行升级工具
Python CLI
参数解析
批量升级
日志输出
24
安全启动链
信任根RoT
代码完整性
安全启动流程
防回滚
25
固件差分升级
bsdiff算法
差分补丁
内存优化
增量升级
26
多核/多处理器升级
异构架构
核间通信
同步机制
共享资源
27
低功耗场景升级
休眠唤醒升级
分段下载
电量监测
失败恢复
28
生产烧录与测试
工厂烧录
批量签名
测试向量
产线自动化
29
OTA升级可靠性设计
掉电保护
完整性校验
重试机制
日志审计
30
实战项目:智能家居网关
需求分析
架构设计
代码实现
测试验证
⭐ 点击任意卡片跳转至对应章节 (01.html ~ 30.html)