什么是Bootloader
嵌入式系统作用
与应用程序关系
ARM Cortex-M/R/A
UART/SPI/I2C/USB/SD
启动引脚配置
SHA256哈希
RSA/ECDSA
签名验证流程
防回滚机制
AES对称加密
密钥管理
解密流程实现
安全存储区
LZSS/gzip/zlib
解压缩实现
资源消耗分析
bsdiff/hdiffpatch
差分包生成合并
优势与局限
XMODEM/YMODEM
自定义二进制协议
UDS/HTTP下载
UART驱动
SPI Flash驱动
I2C EEPROM驱动
USB Device
擦除/写入操作
磨损均衡
错误处理重试
Flash锁保护
向量表重定位
中断服务跳转
优先级配置
临界区保护
独立看门狗IWDG
窗口看门狗WWDG
超时策略
喂狗时机
错误码定义
UART/SEGGER RTT
日志等级
调试辅助
Kernel/Rootfs/App
分区表扩展
固件选择逻辑
OTA服务器架构
固件版本管理
升级任务下发
状态上报
备份区恢复
出厂设置恢复
救援模式
串口命令行恢复
代码大小优化
启动时间优化
内存占用优化
功耗考虑
单元/集成测试
压力测试
边界条件测试
自动化测试框架
启动失败分析
固件校验失败
Flash操作错误
通信超时
ESP32 OTA机制
分区表配置
HTTP下载实现
回滚策略
多核异构升级
TPM/SE安全增强
AI辅助升级
Matter/OCPP