汽车 ECU FlashBootLoader 常见刷写流程

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软件。

  • 30
    点赞
  • 333
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
汽车ECU电控系统的开发全流程可以简单地分为以下几个阶段: 1. 需求分析:在这个阶段,开发团队与汽车制造商或客户合作,明确系统的功能需求、性能要求、安全要求等。这包括对车辆的各个部分进行分析,确定需要控制的参数和功能。 2. 系统设计:在这个阶段,开发团队将对整个系统进行设计,确定ECU的硬件架构、软件架构和通信协议等。这包括选择合适的处理器、传感器、执行器等硬件组件,并设计相应的电路板和连接方式。同时,还需要设计软件系统的模块和接口。 3. 软件开发:在这个阶段,开发团队将根据系统设计,编写ECU的软件代码。这包括底层驱动程序、通信协议栈、算法实现等。同时,还需要进行软件测试和调试,确保软件的正确性和稳定性。 4. 硬件开发:在这个阶段,开发团队将根据系统设计,进行ECU硬件的开发和制造。这包括设计电路板、布线、焊接等工作,并对硬件进行测试和验证。 5. 集成测试:在这个阶段,开发团队将进行整个系统的集成测试,包括硬件与软件的集成、各个功能模块的联合测试等。这个阶段旨在确保系统的整体性能和稳定性。 6. 验证与认证:在这个阶段,开发团队将对系统进行验证和认证,确保系统符合相关的标准和法规要求。这包括进行安全性测试、稳定性测试、EMC测试等,并获得相应的认证。 7. 量产与发布:在经过验证和认证后,ECU电控系统可以进入量产阶段,并安装到汽车。同时,开发团队还需要提供相关的文档和技术支持,以便汽车制造商进行系统的维护和升级。 需要注意的是,以上流程只是一个大致的框架,实际的开发过程可能会因汽车制造商的要求、项目规模和技术难度等因素而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值