一种基于CANoe的ECU软件刷新方法及装置的制造方法

文档序号:9524014阅读:2377来源:国知局
一种基于CANoe的ECU软件刷新方法及装置的制造方法
【技术领域】
[0001]本发明涉及汽车电子技术领域,尤其涉及一种基于CANoe的ECU软件刷新方法及
目-ο
【背景技术】
[0002]随着汽车电子技术的发展,电子控制器(Electronic Control Unit, EQJ)来越多地应用于现代汽车技术上。在电子控制器软件开发过程中,以及汽车产品的使用期间,由于控制软件的升级,软件开发人员和汽车主机厂需要对控制器软件进行刷新。控制器软件一般存储在芯片中可反复电擦除的Flash区,采用现有的软件刷新方法,工作人员需要打开控制器,供助BDM(background debug module)端口进行Flash的烧写,实际操作很不方便。
[0003]在现有技术中,还存在另一种刷新方法,其是通过0BD (On-Board Diagnostics,车载自动诊断系统)的诊断口,采用Flash bootloader软件(FLash引导加载程序)刷新Flash中的内容来实现对ECU软件的升级。但是这种软件刷新工具需要采用专用的工具,其是独立于汽车主机厂现有工具之外的专用工具,一般需要从汽车行业的总线工具开发商定制这种软件刷新工具。例如现阶普遍使用的Vector公司的基于CANdito的Flashbootloder刷新工具,汽车主机厂首先需要支付一定的费用购买CANdito工具及其软件刷新源代码。且工程师不能自主的根据自身需求调整刷新代码,且一旦软件刷新规范有变更,又需要通过Vector公司更改源代码,支付Vector公司一定的开发费用,这样提高了整车开发成本;另外由于需要将自身需求告知Vector公司,故同时降低了汽车主机厂软件刷新规范的保密性。

【发明内容】

[0004]本发明所要解决的技术问题在于,本发明提出一种基于CANoe的ECU软件刷新方法及装置,可以降低ECU软件的刷新成本,且降低对供应商的依赖性,提高保密性。
[0005]为了解决上述技术问题,本发明实施例的一方面提供一种基于CANoe的ECU软件刷新方法,包括如下步骤:
在由CANoe开发的刷新工具中,选择需要刷新的ECU类型,并选择Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件;
确认所述需要刷新的ECU类型与所述应用软件BIN文件是否匹配;
如果两者相匹配,则上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新EOT中的相应的EOT软件。
[0006]其中,所述确认所述需要刷新的ECU类型与所述应用软件BIN文件是否匹配的步骤具体包括:
根据所述需要刷新的ECU软件类型,获得所述ECU软件的诊断请求ID与响应的ID,以及 ASWDCID 值和 AdataDCID 的值;
解析所述应用软件BIN文件和应用数据BIN文件,分别获得其头文件中的ASWDCID值和 AdataDCID 的值;
将所述根据所述需要刷新的ECU软件类型所获得的ASWDCID值和AdataDCID的值与所述应用软件BIN文件中的ASWDCID值和AdataDCID的值分别进行比较;
如果比较结果为相同,则判定两者相匹配;如果比较结果为不同,则判定两者不匹配,则停止对ECU软件进行刷新。
[0007]其中,所述上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新ECU中的相应的ECU软件的步骤具体包括:
与ECU建立连接,调用CANoe的CDD数据库中的诊断命令,向ECU发送上传数据的请求命令,所述请求命令中包含所述ECU软件的诊断请求ID与响应的ID ;
在收到来自所述ECU的响应命令后,将所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件以诊断报文的方式进行上传;
通过所述Flash驱动BIN文件,将所述用软件BIN文件以及应用数据BIN文件的内容写入所述EOT软件所在的Flash中;
在所有文件上传完毕后,停止文件的上传。
[0008]其中,进一步包括:
预先采用CAPL语言(CAN总线访问编程语言)配置各类型ECU软件的诊断请求ID与响应的ID,以及ASWDCID值和AdataDCID的值。
[0009]其中,进一步包括:
记录每次刷新所采用的刷新工具识别号码信息。
[0010]相应地,本发明实施例的另一方面还提供一种基于CANoe的EOT软件刷新装置,包括:
刷新包选择单元,用于在由CANoe开发的刷新工具中,选择需要刷新的ECU类型,并选择Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件;
匹配确认单元,用于确认所述需要刷新的E⑶类型与所述应用软件BIN文件是否匹配;
EOT刷新处理单元,如果两者相匹配,则上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新ECU中的相应的ECU软件。
[0011]其中,所述匹配确认单元包括:
ECU信息获取单元,用于根据所述需要刷新的ECU软件类型,获得所述ECU软件的诊断请求ID与响应的ID,以及ASWDCID值和AdataDCID的值;
解析单元,用于解析所述刷新包选择单元所选择的应用软件BIN文件和应用数据BIN文件,分别获得其头文件中的ASWDCID值和AdataDCID的值;
比较单元,用于将所述EOT信息获取单元所获得的ASWDCID值和AdataDCID的值与所述解析单元所解析出的应用软件BIN文件中的ASWDCID值和AdataDCID的值分别进行比较;
比较结果处理单元,用于在所述比较单元的比较结果为相同时,判定两者相匹配;用于在所述比较单元的比较结果为不同,判定两者不匹配,并停止对ECU软件进行刷新。
[0012]其中,所述EOT刷新处理单元具体包括:
数据上传请求单元,用于与E⑶建立连接,调用CANoe的⑶D数据库(CAN delaStud1Database,诊断数据库)中的诊断命令,向ECU发送上传数据的请求命令,所述请求命令中包含所述ECU软件的诊断请求ID与响应的ID ;
数据上传单元,用于在收到来自所述ECU的响应命令后,将所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件以诊断报文的方式进行上传;
刷新单元,用于通过所述Flash驱动BIN文件,将所述用软件BIN文件以及应用数据BIN文件的内容写入所述E⑶软件所在的Flash中;
数据上传停止单元,用于在所有文件上传完毕后,停止文件的上传。
[0013]其中,进一步包括:
配置单元,用于预先采用CAPL语言配置各类型ECU软件的诊断请求ID与响应的ID,以及 ASWDCID 值和 AdataDCID 的值。
[0014]其中,进一步包括:
记录单元,用于记录每次刷新所采用的刷新工具识别号码信息。
[0015]实施本发明,具有如下的有益效果:
本发明的实施例是通过对CANoe进行二次开发,不需要购买定制的ECU软件刷新工具,可以节省开发成本;
而且本发明的实施例中的ECU软件刷新工具中的软件代码是基于CANoe自带的CAPL语言实现的,可以直接调用CDD数据库中的诊断命令,不用编写大量的代码来实现专业的诊断通讯,简单明了,相关工程师可以根据刷新规范的变化随机调整软件刷新界面和方法,可以完全实现自主开发;
另外由于不再依赖于ECU软件刷新工具的供应商,故同时降低了汽车主机厂软件刷新规范的泄密的风险。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本发明提供的基于CANoe的EOT软件刷新方法的一个实施例的主流程图; 图2是本发明提供的基于CANoe的ECU软件刷新装置的一个实施例的结构示意图;
图3是图2中匹配确认单元的结构示意图;
图4是图2中ECU刷新处理单元的结构示意图;
图5是本发明提供的基于CANoe的ECU软件刷新装置的软件界面示意图。
【具体实施方式】
[0018]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]如图1所示,示出了本发明提供的一种基于CANoe的ECU软件刷新方法的一个实施例的主流程示意图。在该实施例中,该基于CANoe的ECU软件刷新方法包括如下步骤:步骤S10,在由CANoe开发的刷新工具中,选择需要刷新的ECU类型,并选择Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,其中,CANoe是德国VectorInformatik GmbH开发的一种用于总线测试、仿真、报文采集的工具,在汽车行
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1