• 324查看
  • 0回复

[测试标定] 汽车控制器Bootloader概述及测试方法

[复制链接]


该用户从未签到

发表于 5-3-2024 16:18:59 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


一、控制器软件Bootloader的作用

   单片机工作时总是从固定地方取指,对编写程序的人带来了很多的麻烦,软件更新时必须通过烧录器等工具烧录;在此环境下,将软件设计由一个程序跳转到另一个程序,这个程序通常称作Bootloader。Bootloader程序常常具有通信接口和擦写内部存储空间的功能,可将需要更新的APP擦除,写入新的APP。有时会设计成相互跳转,例如APP2跳转到APP3,远程升级时使用。

汽车控制器Bootloader概述及测试方法w1.jpg

  汽车电子中ECU一旦设计完成,上市车辆就很难再拆卸并返回零部件供应商完成功能升级或补丁修复。一旦出现售后质量问题,零部件供应商和整车厂将面临严重的经济损失,因此设计基于CAN总线的ECU在线程序更新Bootloader可以很好的解决这一问题,将零部件供应商和整车厂的损失降低到最小。目前国外大部分汽车整机厂(主机厂)和全球的一级汽车零部件供应商 (Tier 1) 都要求在其设计的ECU实现Bootloader功能。因此大多主机厂要求ECU具有升级功能,并且通过多年的积淀制定了行业标准UDS。ECU开发过程要用到它来构建bootloader,上传和下载数据,即软件刷写,控制器Reset;近年来远程更新的加入,让软件更新增加了更多的可能性。

二、控制器软件Bootloader的工作流程

汽车控制器Bootloader概述及测试方法w2.jpg

1.通过诊断会话进入扩展会话模式。

2.确认刷写前提。根据《刷写规范》所要求的条件,通过ecu合适的车速、档位等信息,确认是否可以更新软件。

3.关闭dtc记录功能。让ECU停止记录新增故障,因为刷程序的时候,为了加快软件刷写速度,需要停掉整个网段的报文,可能会导致很多ecu记录“报文丢失”故障

4.关闭CAN通信。停止整个网段的报文发送,从而能够加快刷程序的速度。

5.进入编程会话模式。

6.解锁电控单元,安全访问通过。上位机发个请求,ECU回复一个随机数,然后上位机根据某种算法,根据这个随机数,算出另外一个数据,并把这个数据再用一帧报文发给ECU,ECU再回复一帧,上位机认证通过。

7.写入签名信息。比如“刷写日期+设备名称”。

8.下载数据,1-预擦除数据。2-写地址和长度。3-数据传输。4-退出传输。5-checksum核对。

9.后编程阶段,进入扩展会话模式.

10.打开dtc。

11.开启通信。

12.ecu软复位,对ECU进行重启操作。

三、控制器软件Bootloader的测试方法


测试项目

测试前提

测试步骤

测试预期结果

正常刷写测试

1.KL30、GND电源正常供电; 2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器);  2.选择刷写功能; 3.启动刷写

1.刷写成功; 2.重新上电,VCU正常发出报文;

连续多次刷写

1.KL30、GND电源正常供电; 2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能;3.启动刷写; 4.重复步骤1-4

1.刷写成功; 2.重新上电,VCU正常发出报文;

刷写确认相关信息

1.KL30、GND电源正常供电; 2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能;3.启动刷写 4.通过UDS服务读取XX信息

1.刷写成功;
    2.重新上电,VCU正常发出报文;
   

电源异常刷写测试

1.KL30、GND电源供电8V、10V、16V;  2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能; 3.启动刷写  4.通过UDS服务读取XX信息

1.刷写成功;2.重新上电,VCU正常发出报文;
   

中断刷写测试

1.KL30、GND电源正常供电; 2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能;3.启动刷写,刷写3S后,关闭上位机软件;4.再次重复1-3

1.第一次刷写失败: 2.第二次刷写成功; 3.重新上电,VCU正常发出报文;

错误文件刷写

1.KL30、GND电源正常供电; 2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择bin文件导入上位机; 3.启动刷写

1.刷写失败: 2.重新上电,VCU不能发出报文;

错误程序刷写

1.KL30、GND电源正常供电; 2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择hex文件内容删除或修改,导入上位机; 3.启动刷写

1.刷写失败: 2.重新上电,VCU不能发出报文;

中断供电电源测试

1.KL30电源正常供电;  2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能; 3.启动刷写 4.KL30、GND正常供电,重复步骤1-3

1.第一次刷写失败: 2.第二次刷写成功; 3.重新上电,VCU正常发出报文;

中断供电电源测试

1.GND电源正常供电;   2.CAN_H、CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能; 3.启动刷写 4.KL30、GND正常供电,重复步骤1-3

1.第一次刷写失败: 2.第二次刷写成功;3.重新上电,VCU正常发出报文;

通信异常测试

1.KL30、GND电源正常供电; 2.CAN_H通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能; 3.启动刷写4.CAN_H/CAN_L正常通讯,重复步骤1-3

1.第一次刷写失败:2.第二次刷写成功;3.重新上电,VCU正常发出报文;

通信异常测试

1.KL30、GND电源正常供电; 2.CAN_L通讯正常

1.连接测试设备(环境IDE、工具Kavaser-CAN收发器); 2.选择刷写功能; 3.启动刷写4.CAN_H/CAN_L正常通讯,重复步骤1-3

1.第一次刷写失败: 2.第二次刷写成功; 3.重新上电,VCU正常发出报文;


该用户从未签到

发表于 14-3-2025 04:18:00 | 显示全部楼层
汽车控制器中的Bootloader是一个关键组件,其主要作用是在控制器软件升级或功能更新时,负责加载和启动新的应用程序。Bootloader具有通信接口,可以接收新的程序代码并擦除旧的程序,将新的APP写入控制器内部存储空间。在汽车电子中,ECU的Bootloader设计需确保可靠性和稳定性,因为一旦ECU安装到车辆上,就很难进行功能升级或补丁修复。针对Bootloader的测试方法主要包括功能测试、性能测试和安全性测试。功能测试验证其是否能正确加载和启动应用程序;性能测试评估其响应时间和稳定性;安全性测试则检查其是否容易受到攻击或干扰。通过全面的测试,确保Bootloader的可靠性和安全性,从而保障车辆的性能和安全。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 04:18:00 | 显示全部楼层
汽车控制器中的Bootloader是一个关键组件,其主要作用是在控制器软件升级或功能更新时,负责接收、存储并引导加载新的应用程序。它就像一个软件的“门卫”,能够确保新程序的正确安装和运行。其主要功能包括接收和解析升级指令、擦除旧的应用程序并写入新的应用程序。测试Bootloader的方法主要包括功能测试和性能测试。功能测试验证Bootloader是否能正确接收并处理升级指令,性能测试则关注其在不同条件下的运行效率和稳定性。在汽车电子领域,由于ECU的特殊性,Bootloader的可靠性至关重要,它是确保车辆安全、功能正常的重要一环。针对售后质量问题,通过Bootloader远程升级功能,可以实现对ECU的远程修复和升级,提高产品的服务质量和用户体验。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 12:31 , Processed in 0.400970 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.