首页> 中国专利> 一种用于混合动力汽车整车控制软件的实时校验方法

一种用于混合动力汽车整车控制软件的实时校验方法

摘要

本发明公开了一种用于混合动力汽车整车控制软件的实时校验方法,将闪存的内存分成不同的存储区,每一个存储区的校验作为一个任务,在每一个循环中只执行一个任务,对一个相应的存储区进行校验,只有存储区的每一行校验都通过的时候,该段存储区校验才是通过的,如果校验到某行执行代码遭到破坏,将禁用混合动力的所有功能,进入刷新模式。本发明采用分任务校验的方法,通过实时的行扫描计算,验证执行代码的可靠性,这样既能够对闪存所有的存储介质进行检查,同时又能够满足程序代码执行时间的限制要求,符合混合动力汽车控制软件代码安全的要求。

著录项

  • 公开/公告号CN101441453A

    专利类型发明专利

  • 公开/公告日2009-05-27

    原文格式PDF

  • 申请/专利权人 奇瑞汽车股份有限公司;

    申请/专利号CN200810186264.5

  • 发明设计人 柳士江;

    申请日2008-12-22

  • 分类号G05B19/048;

  • 代理机构北京五月天专利商标代理有限公司;

  • 代理人吴宝泰

  • 地址 241009 安徽省芜湖市经济技术开发区长春路8号

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-12-22

    授权

    授权

  • 2009-08-19

    实质审查的生效

    实质审查的生效

  • 2009-05-27

    公开

    公开

说明书

技术领域

本发明涉及一种用在混合动力汽车上的代码安全校验方法,用来提高混合动力汽车整车控制软件代码的安全性,从而提高混合动力汽车的安全性。

背景技术

随着汽车产品质量的不断提高,越来越多的汽车电子被应用到汽车领域,随着大量的可编程控制电子器件在汽车和混合动力汽车上的广泛应用。控制软件代码的安全一直以来成为影响整车安全的重要因素之一。为此,从事相关方面的工程师对此进行了探索,先后提出一些用于整车通讯和内存检查的校验方法,如:CRC,奇偶校验,格雷码校验等等。但是这些校验方法都有其局限性,不能满足大内存容量的闪存执行代码的实时校验要求。而且传统的校验方法执行需要的时间长,不能满足校验的要求。

发明内容

由于存储在闪存中的是执行代码,为了确保执行代码的安全需要对内存区中代码进行实时校验,同时不能够占用混合动力汽车控制软件过多的执行时间,而且保障该程序代码在执行之前,该段执行码已经被校验。本发明在结合大容量的闪存的实时校验的要求,采用分任务实时校验的方法有效的解决这个问题。具体技术方案如下。

一种用于混合动力汽车整车控制软件的实时校验方法,将闪存的内存分成不同的存储区,每一个存储区的校验作为一个任务,在每一个循环中只执行一个任务,对一个相应的存储区进行校验,只有存储区的每一行校验都通过的时候,该段存储区校验才是通过的,每个任务都可以根据主循环时间的许可情况,完成该任务的执行。每一个校验任务的执行时间小于主循环时间的30%。

进一步,对每一个校验任务都通过任务校验处理函数进行处理,在任务校验处理函数中,实时行扫描需要校验的闪存内存区,通过计算查看每一行的计算数值是否与存储在该行结尾的校验码相等,来判断该行执行代码是否在执行以前遭到破坏。如果判断该行执行代码没有遭到破坏,退出该任务,继续执行主循环;如果判断该行执行代码遭到破坏,将禁用混合动力的所有功能,进入刷新模式。

对非摩托罗拉数据格式的二进制文件需要首先通过转换文件转换成摩托罗拉数据格式的二进制文件。

本发明采用分任务校验的方法,将需要校验的闪存按不同的存储页分解成不同的任务,在每一个时间片许可的情况下,执行一个校验任务,在该校验任务中实时的读取每一行可执行代码的数值并且与行尾的校验码进行比对,检查该行代码是否正确。

本发明在通过实时的行扫描计算,验证执行代码的可靠性。符合汽车或者混合动力汽车控制软件代码安全的要求。

附图说明

图1:文件格式转换;

图2:校验任务占用的主循环时间片的数值;

图3:校验任务的处理流程图。

具体实施方式

下面结合附图介绍本发明的具体实施方式。

本发明仅适用于执行文件为摩托罗拉数据格式的二进制文件。因此,如图1所示,对非摩托罗拉数据格式的二进制文件H12文件通过转换文件SRecCvt.exe转换成摩托罗拉数据格式的二进制文件S19文件。该文件行数据格式固定,且行宽字节数固定,为后续的行扫描处理提供定义规范,同时方便后面的程序处理。

在S19文件中,将每一个行执行代码的数值进行校验计算,并且将计算的结果放在该行结尾的最后一个字节,作为后面内存中执行代码校验计算的校验码。

这样处理的好处:

可以到每一行固定的地址上,扫描查询到具有特定含义的数据,比如:校验值,方便后续程序处理。

本发明主要是针对大容量的存储介质进行校验检查。如:对256k的闪存一次性检查需要的时间大于25ms,该段程序的执行时间将会超过基本时间片的执行时间,为此,根据motorola芯片闪存的特点,将闪存的内存分成不同的存储区,每一个存储区的校验作为一个任务,在每一个循环中只执行一个任务对一个相应的存储区进行校验,只有每一行校验都通过时候,该段存储区校验才是通过的,每个任务都可以根据主循环时间的许可情况,完成该任务的执行。这样既然能够对闪存所有的存储介质进行检查,同时又能够满足程序代码执行时间的限制要求。

如图2所示,同时考虑整车控制软件主程序时间片执行时间的限制要求,将闪存按照可许可执行时间划分为不同的任务,每一主时间片只执行其中一个任务,每一个校验任务的执行时间小于主时间片的30%。

如图3所示,本发明根据不同闪存容量大小的不同,将闪存分解成不同大小的任务单元。然后,多个不同的任务将由任务校验分配管理函数进行该任务的管理和分配;对每一个校验任务都可以通过任务校验处理函数进行处理,在任务校验处理函数中,实时行扫描需要校验的闪存内存区,通过计算查看每一行的计算数值是否与存储在该行结尾的校验码是否相等,来判断该行执行代码是否在执行以前遭到破坏。如果没有遭到破坏,退出该任务,继续执行主循环,如果遭到破坏,程序将禁用混合动力的所有功能,进入刷新模式,保护混合动力汽车的安全。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号