前言
随着汽车控制器的日益更新,支持升级的控制器越来越多,Bootloader刷写是当前控制器的主流升级方式。为了保证控制器在Bootloader过程中可靠、稳定的进行软件升级,在开发控制器的过程中需要不断的对ECU进行Bootloader的测试。
什么是Bootloader?
Bootloader是指基于UDS诊断的车载控制器mcu程序刷新。车载控制器中一般有两种模式:Bootloader模式和APP模式,在APP无效或者有更新需求的两种情况下,控制器都可以进入到Bootloader模式中进行软件升级。
Bootloader的主要过程:
Bootloader根据ISO14229协议中规定的服务与ECU进行刷写中的互动,主要用到的服务有:0x10(DiagnosticSessionControl)、0x11(ECUReset )、0x27(SecurityAccess)、0x28(CommunicationControl )、0x31(RoutineControl )、0x34(RequestDownload)、0x36(TransferData)、0x37(RequestTransferExit)、0x85(ControlDTCSetting)等。其主要流程如图1所示。
Bootloader测试的内容
在Bootloader测试中,包括正向测试与反向测试,正向测试为无故障注入的测试;而逆向测试则是包含多种故障注入的测试,故障注入的方式主要有:硬件故障注入、刷写流程步骤故障注入。
正向测试
- APP有效情况刷写测试
- APP无效情况刷写测试
- 连续刷写测试
- ……
逆向测试
硬件故障注入测试
在Bootloader刷写的过程中,依托于VT板卡可以实现:
- 通信总线短路、断路、对电、对地短路;断电、断地等
- 供电电压过高、过低
- 传输过程中供电电压异常
- ……
刷写流程步骤故障注入
在Bootloader刷写的过程中,每一步都可以作为跳过或发送错误内容的故障注入测试,例如:
- 跳过安全解锁测试
- 跳过预编程检测测试
- 传输地址错误测试
- 擦除地址错误测试
- ……
基于CANoe的Bootloader测试系统组成
常见的基于CANoe的Bootloader测试系统如下:
PC+VN系列盒子+VT测试机箱
该方案为便携式测试系统,优点是占用空间小,可实现硬件故障注入测试,但无法实现大功率供电需求。图2为该测试系统结构组成。
标准网络测试机柜
该系统可以实现全方位的车载通信网络测试。图3为该测试系统结构组成。
Bootloader测试过程概览
在CANoe的CAPL编辑器中实现Bootloader测试逻辑后,就可以通过Vector相关设备实现测试,图4为测试过程。
测试结束后,可以通过生成的测试报告和测试过程中保存的log分析控制器刷写过程中存在的问题。CANoe生成的报告为html格式,我司开发的STORM eye测试管理软件可以在测试执行后将报告转换为Excel格式。图5(a)和(b)分别为html格式的测试报告和转换后的Excel报告。
总结
综上所述,得益于Vector软硬件设备以及我司自行研发的STORM eye测试管理软件的支持,在Bootloader测试中,东信创智主要可以实现:
- 刷写流程方面故障注入
- 控制器硬件方面故障注入
- Hex、S19、Bin等文件的读取与刷写
- APP文件多Block读取与刷写
- Xml签名校验
- 刷写代码开源
- 测试报告转换(Excel)
- ……
本文暂时没有评论,来添加一个吧(●'◡'●)