程序员开发实例大全宝库

网站首页 > 编程文章 正文

基于CANoe的Bootloader测试方法介绍

zazugpt 2024-08-09 12:15:17 编程文章 177 ℃ 0 评论

前言

随着汽车控制器的日益更新,支持升级的控制器越来越多,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)
  • ……

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表