车载ECU的Bootloader实现方法

您所在的位置:网站首页 一件值得回忆的事作文500字初中篇怎么写 车载ECU的Bootloader实现方法

车载ECU的Bootloader实现方法

2023-12-15 00:52| 来源: 网络整理| 查看: 265

车载ECU的Bootloader实现方法 概述Flash Bootloader软件架构CAN驱动(CAN Driver)Flash驱动(Flash Driver)传输层(Transport Protocol Layer)诊断层(Diagnostics Layer)看门狗(Watch Dog)加密算法 FlashBootloader解决方案方案1方案2方案3 参考及引用

概述

应用程序软件是汽车ECU中最重要的组成部分,ECU的功能和可靠性很大程度上取决于其应用软件部分。随着汽车电子技术不断发展,ECU电控系统代码复杂程度不断增长,ECU软件频繁地面临着变更、升级的问题。在研发初期,一般使用JTAG、BDM或Nexus等硬件物理接口下载程序,但是随着技术研发的深入及产品的生产和售后阶段,物理硬件接口下载的方式已经不能满足OEM和供应商的需求。

当前CAN总线已经广泛地应用于整车网络应用中,所以基于CAN总线的在线软件刷写功能也被广泛使用。在开发阶段,通过CAN总线在线刷写ECU代码可以方便软件开发人员设计、调试及测试软件代码等,提高工作效率和开发进度;在生产阶段,通过CAN总线在线刷写程序可以实现批量下载,方便软件版本的更新,也能免除JTAG、BDM等物理硬件接口的成本及繁杂度;在售后阶段,可以利用诊断仪等设备,通过CAN总线直接升级ECU中的软件,避免由于软件缺陷引起的产品召回事件所造成的巨大损失,也可以为ECU功能提供一个可升级的平台。

Flash Bootloader软件架构 CAN驱动(CAN Driver)

CAN驱动模块实现CAN报文的收发和CAN控制器硬件的操作; CAN驱动主要由有下特点:

初始化CAN控制器CAN报文的接收和发送CAN报文事件反馈 Flash驱动(Flash Driver)

用于操作Flash的擦除、写入和读取功能, Flash驱动主要有如下特点:

Flash硬件初始化擦除Flash扇区Flash块的数据写入Flash块的数据读取数据校检 传输层(Transport Protocol Layer)

传输层可实现以下部分(根据方案不同使用不同的传输层协议):

基于ISO 15765-2的传输协议规范基于CCP的传输协议规范

传输层主要是提供数据的组包和拆包功能服务,能够实现报文的分段传输(segmented transmission):长报文的分包发送,以及分包报文的组装接收。

传输层有如下特点:

分包和组装来自数据链路层的数据长报文的流控制和定时参数的调整数据传输过程中的错误检测和超时处理 诊断层(Diagnostics Layer)

当传输层采用基于ISO 15765协议规范时,诊断层作为可选项集成到Bootloader程序代码中。 诊断层实现ISO 15765-3/ISO 14229-1中定义的Bootloader程序刷写流程,包括:诊断会话切换、安全状态切换、标识符读写、程序刷写和ECU复位等。

诊断层主要有如下特点:

实现ISO 14229中刷写相关的诊断服务调用Flash Driver 看门狗(Watch Dog)

为防止Bootloader出现超时操作,看门狗模块能够在超过一定时间后产生ECU复位操作,提高软件的可靠性。 看门狗定时有如下特点: • 监控Bootloader超时或者死机,对ECU复位 • 定时参数可以任意配置 • 实时性有保证

加密算法

主要用以处理软件加密和安全访问相关的诊断服务内容,实现程序下载的合法性和完整性。 加密算法模块有如下特点: • 根据用户需求不同,作为可选项 • 下载工具的合法性校检,Seed & Key诊断服务 • 程序下载的完整性校检,如CRC校检

FlashBootloader解决方案

实现CAN总线在线刷写功能,则需要开发针对目标ECU的Bootloader功能软件,包括必要的CAN驱动,Flash驱动,通信协议等组件。Bootloader软件一般具有如下要求: • Bootloader与应用软件必须放于不同的ROM空间中 • 使用非易失性存储单元存放标志位等信息 • 需要支持不同的通信协议 • Bootloader与应用软件不能同时占有硬件资源 • 因ECU掉电等情况导致程序刷写故障的故障修复功能 • 对下载程序验证 • 安全访问模块和加密算法 • 看门狗

方案1

参照ISO 15765相关规范,将其中传输层协议精简后的FlashBootloader在线刷写方案,包括Flash刷写工具、Bootloader嵌入式源码、Flash驱动和Bootloader应用程序源码等。

在这里插入图片描述

方案2

完全满足ISO 15765规范的FlashBootloader在线刷写方案,Bootloader模块基于ISO 15765-2、ISO 15765-3标准开发,各功能模块软件架构如下图中所示: 在这里插入图片描述

方案3

基于CCP协议的FlashBootloader在线刷写方案,Bootloader模块基于CCP协议标准开发。

参考及引用

http://www.ecucoder.com/plus/list.php?tid=110 . Bootloader.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3