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

文档序号:9524014阅读:来源:国知局
,该打开文件的过程类似于对BIN文件包进行解压缩。
[0033]第四步:BIN文件的获取,具体包括:
通过在CANoe中采用CAPL语言编写函数“FlashDriverFileGet () ”来获取Flash驱动BIN文件包中的数据内容;
通过在CANoe中采用CAPL语言编写函数“ApplDataFilesGet 0”来获取应用软件BIN文件包中的数据内容;
通过在CANoe中采用CAPL语言编写函数“ApplSWFilesGet () ”来获取应用数据BIN文件包中的数据内容;
在该步骤中,需要将所读取出来的BIN文件中的数据内容复制到缓存里面,并获取数据内容的长度。同时对BIN文件中的头信息进行校对;具体地,将步骤2中获得的ASWDCID值和AdataDCID的值与步骤4中应用软件BIN文件的头信息中的ASWDCID值和AdataDCID的值分别进行比较,如果比较结果为相同,则判定两者相匹配,继续进行刷新操作;如果比较结果为不同,判定两者不匹配,并停止对ECU软件进行刷新。
[0034]第五步:数据上传
a、请求数据上传
与EOT建立连接,调用CANoe的⑶D数据库中的诊断命令(如34服务),向EOT发送上传数据的请求命令,该请求命令中包含ECU软件的诊断请求ID与响应的ID信息;
b、数据传输
在收到来自ECU的响应命令后,调用CANoe的CDD数据库中的诊断命令(如36服务)将Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件以诊断报文的方式进行上传;如果刷新文件的长度超过Flash segment size的值,则需要分成多个诊断报文进行传输;
通过Flash驱动BIN文件,将用软件BIN文件以及应用数据BIN文件的内容写入EOT软件所在的Flash中;
c、停止传输
在所有文件上传完毕后,调用CANoe的CDD数据库中的诊断命令(如37服务)停止文件的上传。
[0035]综上,实施本发明的实施例,具有如下有益效果:
本发明的实施例是通过对CANoe进行二次开发,不需要购买定制的ECU软件刷新工具,可以节省开发成本;
而且本发明的实施例中的ECU软件刷新工具中的软件代码是基于CANoe自带的CAPL语言实现的,可以直接调用CDD数据库中的诊断命令,不用编写大量的代码来实现专业的诊断通讯,简单明了,相关工程师可以根据刷新规范的变化随机调整软件刷新界面和方法,可以完全实现自主开发;
另外由于不再依赖于ECU软件刷新工具的供应商,故同时降低了汽车主机厂软件刷新规范的泄密的风险。
[0036]可以理解的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
[0037]以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种基于CANoe的ECU软件刷新方法,其特征在于,包括如下步骤: 在由CANoe开发的刷新工具中,选择需要刷新的EOT类型,并选择Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件; 确认所述需要刷新的ECU类型与所述应用软件BIN文件是否匹配; 如果两者相匹配,则上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新EOT中的相应的EOT软件。2.如权利要求1所述的基于CANoe的ECU软件刷新方法,其特征在于,所述确认所述需要刷新的ECU类型与所述应用软件BIN文件是否匹配的步骤具体包括: 根据所述需要刷新的ECU软件类型,获得所述ECU软件对应的诊断请求ID与响应的ID,以及 ASWDCID 值和 AdataDCID 的值; 解析所述应用软件BIN文件和应用数据BIN文件,分别获得其头文件中的ASWDCID值和 AdataDCID 的值; 将所述根据所述需要刷新的ECU软件类型所获得的ASWDCID值和AdataDCID的值与所述应用软件BIN文件中的ASWDCID值和AdataDCID的值分别进行比较; 如果比较结果为相同,则判定两者相匹配;如果比较结果为不同,则判定两者不匹配,则停止对ECU软件进行刷新。3.如权利要求2所述的基于CANoe的ECU软件刷新方法,其特征在于,所述上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新EOT中的相应的EOT软件的步骤具体包括: 与EOT建立连接,调用CANoe的⑶D数据库中的诊断命令,向EOT发送上传数据的请求命令,所述请求命令中包含所述ECU软件的诊断请求ID与响应的ID ; 在收到来自所述ECU的响应命令后,将所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件以诊断报文的方式进行上传; 通过所述Flash驱动BIN文件,将所述用软件BIN文件以及应用数据BIN文件的内容写入所述EOT软件所在的Flash中; 在所有文件上传完毕后,停止文件的上传。4.如权利要求3所述的基于CANoe的ECU软件刷新方法,其特征在于,进一步包括: 预先采用CAPL语言配置各类型ECU软件的诊断请求ID与响应的ID,以及ASWDCID值和 AdataDCID 的值。5.如权利要求4所述的基于CANoe的ECU软件刷新方法,其特征在于,进一步包括: 记录每次刷新所采用的刷新工具识别号码信息。6.一种基于CANoe的EOT软件刷新装置,其特征在于,包括: 刷新包选择单元,用于在由CANoe开发的刷新工具中,选择需要刷新的ECU类型,并选择Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件; 匹配确认单元,用于确认所述需要刷新的E⑶类型与所述应用软件BIN文件是否匹配; EOT刷新处理单元,如果所述匹配确认单元确认两者相匹配,则上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新ECU中的相应的ECU软件。7.如权利要求6所述的基于CANoe的EOT软件刷新装置,其特征在于,所述匹配确认单元包括: ECU信息获取单元,用于根据所述需要刷新的ECU软件类型,获得所述ECU软件对应的诊断请求ID与响应的ID,以及ASWDCID值和AdataDCID的值; 解析单元,用于解析所述刷新包选择单元所选择的应用软件BIN文件和应用数据BIN文件,分别获得其头文件中的ASWDCID值和AdataDCID的值; 比较单元,用于将所述EOT信息获取单元所获得的ASWDCID值和AdataDCID的值与所述解析单元所解析出的应用软件BIN文件中的ASWDCID值和AdataDCID的值分别进行比较; 比较结果处理单元,用于在所述比较单元的比较结果为相同时,判定两者相匹配;用于在所述比较单元的比较结果为不同,判定两者不匹配,并停止对ECU软件进行刷新。8.如权利要求7所述的基于CANoe的ECU软件刷新装置,其特征在于,所述ECU刷新处理单元具体包括: 数据上传请求单元,用于与ECU建立连接,调用CANoe的CDD数据库中的诊断命令,向ECU发送上传数据的请求命令,所述请求命令中包含所述ECU软件的诊断请求ID与响应的ID ; 数据上传单元,用于在收到来自所述ECU的响应命令后,将所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件以诊断报文的方式进行上传; 刷新单元,用于通过所述Flash驱动BIN文件,将所述用软件BIN文件以及应用数据BIN文件的内容写入所述EOT软件所在的Flash中; 数据上传停止单元,用于在所有文件上传完毕后,停止文件的上传。9.如权利要求8所述的基于CANoe的EOT软件刷新装置,其特征在于,进一步包括: 配置单元,用于预先采用CAPL语言配置各类型ECU软件的诊断请求ID与响应的ID,以及 ASWDCID 值和 AdataDCID 的值。10.如权利要求9所述的基于CANoe的EOT软件刷新装置,其特征在于,进一步包括: 记录单元,用于记录每次刷新所采用的刷新工具识别号码信息。
【专利摘要】本发明实施例提供一种基于CANoe的ECU软件刷新方法,包括如下步骤:在由CANoe开发的刷新工具中,选择需要刷新的ECU类型,并选择Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件;确认所述需要刷新的ECU类型与所述应用软件BIN文件是否匹配;如果两者相匹配,则上传所述Flash驱动BIN文件、应用软件BIN文件以及应用数据BIN文件,并刷新ECU中的相应的ECU软件。本发明实施例提供一种基于CANoe的ECU软件刷新装置,实施本发明实施例,可以降低ECU软件的刷新成本,且降低对供应商的依赖性,提高保密性。
【IPC分类】G06F9/445
【公开号】CN105278978
【申请号】CN201410353756
【发明人】黄丽芳, 黄少堂, 何晔, 周孟喜
【申请人】广州汽车集团股份有限公司
【公开日】2016年1月27日
【申请日】2014年7月23日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1