CAN Bootloader · 升级实战
📘 30章 完整目录
01
CAN Bootloader概述
什么是Bootloader
为什么需要CAN升级
OTA与CAN升级的区别
02
CAN协议基础回顾
CAN 2.0A/B帧格式
CAN ID与仲裁
CAN总线物理层要点
03
CAN Bootloader架构设计
上位机
下位机
通信协议栈三层架构
04
Flash驱动设计
Flash擦除/写入/读取API
扇区保护与解锁
05
CAN通信协议设计
基于UDS的扩展诊断会话
0x34/0x36/0x37服务详解
06
多帧传输机制
连续帧(CF)
流控制帧(FC)
块大小与最小间隔时间
07
CRC校验与安全
CRC32算法实现
签名验证
防止刷写错误
08
跳转逻辑设计
从Bootloader跳转到App
向量表重映射
栈指针设置
09
双区备份策略
A/B分区切换
回滚机制
失败恢复
10
上位机工具开发
Python实现CAN发送
进度条显示
日志记录
11
下位机状态机设计
空闲态
编程态
完成态/错误态转换
12
Flash驱动优化
磨损均衡
写入速度优化
中断保护
13
CAN驱动配置
波特率设置
过滤器配置
FIFO管理
14
超时与重传机制
P2超时
P2*超时
帧重传策略
15
安全访问(27服务)
种子与密钥算法
防止未授权刷写
16
例程控制(31服务)
擦除例程
检查例程
复位例程
17
数据一致性检查
完整性校验
版本号管理
依赖检查
18
多节点同时升级
广播模式
节点应答
冲突避免
19
断点续传
已刷写块记录
断点恢复逻辑
进度同步
20
日志与调试
CANoe/CANalyzer抓包
打印日志
错误码定义
21
安全启动
信任根
签名验证
防回滚保护
22
Bootloader与App交互
共享内存
标志位
复位原因传递
23
生产环境部署
产线刷写流程
序列号绑定
加密烧录
24
测试策略
单元测试
集成测试
压力测试/边界测试
25
常见问题排查
刷写失败
跳转失败
通信超时/Flash损坏
26
基于CAN FD的升级
CAN FD帧格式
更高带宽
兼容性考虑
27
UDS on CAN Bootloader
ISO 14229-1标准实现
会话管理
安全等级
28
Bootloader最小系统
ROM/RAM占用优化
启动时间优化
29
多核MCU升级策略
核间同步
共享资源保护
独立升级
30
未来趋势
SOTA
AUTOSAR升级
云端管理平台集成