无标题文档
 
sales@ecucoder.com
400-685-6859
 


Bootloader

实现CAN总线在线刷写功能,则需要开发针对目标ECU的Bootloader功能软件,包括必要的CAN驱动,Flash驱
动,通信协议等组件。

 

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

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

 

——FlashBootloader软件架构
 
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掉电等情况导致程序刷写故障的故障修复功能
       •  对下载程序验证
       •  安全访问模块和加密算法
       •  看门狗

       华海科技根据现有的产品和解决方案,结合多年的Bootloader开发经验,可以根据客户的目标需求和硬件平台定制FlashBootloader软件(包括Bootloader和Flash Driver),同时以C源码的形式交付给客户。结合国内基于CAN总线的ECU在线刷写需求,华海科技可提供三种不同的FlashBootloader完整解决方案帮助客户高效、安全的进行ECU在线刷写,客户可根据自身需求选择适合的解决方案。
       Flash刷写工具适配器可以采用USBCAN、CANCard、CANcase等硬件。

       Flash刷写工具软件可以采用CANape/MeCa等上位机软件。其中MeCa是华海科技自主研发的一款通用的ECU测量标定工具软件,同时集成了Flash程序刷写功能,是一款简单易用的软件产品,Flash刷写界面简易可靠。如下图中所示:
方案1
       华海科技根据多年Bootloader开发经验,参照ISO 15765相关规范,将其中传输层协议精简后的FlashBootloader在线刷写方案,包括Flash刷写工具、Bootloader嵌入式源码、Flash驱动和Bootloader应用程序源码等。

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

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

 

——代码集成服务

       集成服务主要包括源代码的集成与交付、培训及技术支持三个方面。

代码集成与交付
根据客户的需求,我们会帮助客户做好以下工作:

       •  FlashBootloader软件与用户硬件平台的集成
       •  在线刷写软件与用户应用软件的集成
       •  Flash驱动与用户应用软件的集成
       •  源代码的交付
       •  提交过程文档和使用说明

培训

       在集成服务的过程中,为了使用户能够更好的掌握代码和工具的使用,我们会提供与FlashBootloader集成相关的知识培训,包括Bootloader原理,Bootloader集成方法,工具使用方法等。

技术支持

       提供软件源代码的技术支持,支持方式包括邮件、电话沟通和现场服务等。
 
 
  咨询服务
  开发咨询
  测试服务
  功能安全
 
  培训支持
  资料下载
  视频中心
  培训中心
  案例分享
 
  新闻动态
  公司新闻
  产品动态
  市场活动
 
  关于我们
  关于华海
  联系我们
  加入我们
  荣誉资质
 


扫一扫关注微信公众号
Copyright 2011-2018   Huahai Technologies Co., Ltd. All Rights Reserved.     京ICP备18029638号-1   TEL:400-685-6859  网站技术支持:3A设计