网站首页 > 技术教程 正文
前言
随着汽车控制器的日益更新,支持升级的控制器越来越多,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)
- ……
猜你喜欢
- 2024-10-23 基于S12 MagniV系列的LIN Bootloader设计
- 2024-10-23 怎么使用USBasp给arduino烧写bootloader?
- 2024-10-23 腾讯 ROG 游戏手机 6 / Pro 公开内核源码并支持解锁 bootloader
- 2024-10-23 浅谈基于uds的bootloader设计(简要概述u-boot的主要功能)
- 2024-10-23 Bootloader引导程序uboot(bootice 引导)
- 2024-10-23 基于CAN总线的Bootloader设计与实现
- 2024-10-23 Rust语言开发操作系统-第二章(最小化内核)
- 2024-10-23 基于RT-Thread完整版搭建的极简Bootloader
- 2024-10-23 海信阅读手机A9现可解锁bootloader并获取root权限
- 2024-10-23 三星警告Galaxy Z Fold 3解锁bootloader将失去相机功能
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)