网站首页 > 技术文章 正文
本文详细介绍了汽车电子控制单元(ECU)的Bootloader刷新过程,包括Primary和Secondary Bootloader的角色,以及通过OBD接口进行的Bootloader刷新步骤。主要流程涉及会话切换、安全解锁、软件下载与验证等,确保ECU软件更新的安全与完整。
摘要由CSDN通过智能技术生成
bootloader是指基于UDS诊断的车载控制器mcu程序刷新。
成品车上要进行ECU的软件刷新,可以通过即Bootloader刷写和OTA升级。通过OBD接口进行Bootloader刷新的方式是目前的主流方式。
Bootloader分为Primary Bootloader跟Secondary Bootloader。
Primary Bootloader由ECU供应商预先编辑到非易失性存储器中,包含PBL的区域必须防止擦除,避免由于意外擦除PBL。
Secondary Bootloader存储在易失性存储器中。
Bootloader的主要流程如下:
Part1:
1、通过22服务读取供应商ECU硬件版本号、引导程序软件识别号、零件BOM号
2、通过10 03切换到扩展会话模式,并且获取 P2CAN_Server_max,P2*CAN_Server_max,时间参数。分别代表ECU对诊断仪请求回复的最大时间限值,和收到增强响应时间后的最大响应时间限值。
比如发送10 03后收到50 03 00 32 00 C8。
那么P2CAN_Server_max就等于0x32划算为10进制后为50ms
P2*CAN_Server_max就等于0xC8划算为10进制后200x10=2000ms,注意这里有个10倍的关系。
3、通过85服务关闭DTC存储,因为切换到10 02会话后会停止发送应用报文,避免其他ECU记录节点丢失DTC故障。
4、通过28服务Disable应用报文收发。
Part2:
1、通过10 02切换到ProgrammingSession。
2、通过27服务进行安全解锁。
3、通过2E服务写入诊断仪序列号及ECU软件刷新日期。
Part3:
1、通过34、36、37服务下载Secondary Bootloader,即FlashDriver文件。
2、通过31服务检查SBL程序的数据一致性和完整性。
Bootloader会计算所有下载数据的校验和,此校验和将于31服务发送的Data进行比较。如果相同则认为数据可用。
3、通过31服务请求目标ECU清除部分内存。
4、通过34、36、37服务下载APP程序,即最终的mcu程序。
5、通过31服务检查APP程序的数据一致性和完整性。
6、通过31服务请求目标ECU运行一个例程,检查所有下载的软件部分的依赖关系。
Part4:
1、通过11 01 重启。
2、等待2S。
3、通过10 03切换到扩展会话。
4、通过28服务Enable应用报文发送接收。
5、通过85服务Enable DTC记录。
6、通过10 01切换到默认会话。
7、通过14 FF FF FF 清除DTC。
至此,已经通过Bootloader完整的刷新了一遍ECU软件。
————————————————
猜你喜欢
- 2025-01-04 SiliconCloud API实战攻略:配置OneAPI、LobeChat、MindSearch
- 2025-01-04 电动汽车充电机技术基础
- 2025-01-04 同星智能正式推出CAN总线一致性测试系统
- 2025-01-04 Python基于周立功ZCANPRO开发刷写脚本
- 2025-01-04 松勤软件测试:面试了几十家,整理出这份车载测试面试题
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)