[发明专利]一种用于混合动力汽车整车控制软件的实时校验方法有效
| 申请号: | 200810186264.5 | 申请日: | 2008-12-22 |
| 公开(公告)号: | CN101441453A | 公开(公告)日: | 2009-05-27 |
| 发明(设计)人: | 柳士江 | 申请(专利权)人: | 奇瑞汽车股份有限公司 |
| 主分类号: | G05B19/048 | 分类号: | G05B19/048 |
| 代理公司: | 北京五月天专利商标代理有限公司 | 代理人: | 吴宝泰;朱成蓉 |
| 地址: | 241009安徽省*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 混合 动力 汽车 整车 控制 软件 实时 校验 方法 | ||
技术领域
本发明涉及一种用在混合动力汽车上的代码安全校验方法,用来提高混合动力汽车整车控制软件代码的安全性,从而提高混合动力汽车的安全性。
背景技术
随着汽车产品质量的不断提高,越来越多的汽车电子被应用到汽车领域,随着大量的可编程控制电子器件在汽车和混合动力汽车上的广泛应用。控制软件代码的安全一直以来成为影响整车安全的重要因素之一。为此,从事相关方面的工程师对此进行了探索,先后提出一些用于整车通讯和内存检查的校验方法,如:CRC,奇偶校验,格雷码校验等等。但是这些校验方法都有其局限性,不能满足大内存容量的闪存执行代码的实时校验要求。而且传统的校验方法执行需要的时间长,不能满足校验的要求。
发明内容
由于存储在闪存中的是执行代码,为了确保执行代码的安全需要对内存区中代码进行实时校验,同时不能够占用混合动力汽车控制软件过多的执行时间,而且保障该程序代码在执行之前,该段执行码已经被校验。本发明在结合大容量的闪存的实时校验的要求,采用分任务实时校验的方法有效的解决这个问题。具体技术方案如下。
一种用于混合动力汽车整车控制软件的实时校验方法,将闪存的内存分成不同的存储区,每一个存储区的校验作为一个任务,在每一个循环中只执行一个任务,对一个相应的存储区进行校验,只有存储区的每一行校验都通过的时候,该段存储区校验才是通过的,每个任务都可以根据主循环时间的许可情况,完成该任务的执行。每一个校验任务的执行时间小于主循环时间的30%。
进一步,对每一个校验任务都通过任务校验处理函数进行处理,在任务校验处理函数中,实时行扫描需要校验的闪存内存区,通过计算查看每一行的计算数值是否与存储在该行结尾的校验码相等,来判断该行执行代码是否在执行以前遭到破坏。如果判断该行执行代码没有遭到破坏,退出该任务,继续执行主循环;如果判断该行执行代码遭到破坏,将禁用混合动力的所有功能,进入刷新模式。
对非摩托罗拉数据格式的二进制文件需要首先通过转换文件转换成摩托罗拉数据格式的二进制文件。
本发明采用分任务校验的方法,将需要校验的闪存按不同的存储页分解成不同的任务,在每一个时间片许可的情况下,执行一个校验任务,在该校验任务中实时的读取每一行可执行代码的数值并且与行尾的校验码进行比对,检查该行代码是否正确。
本发明在通过实时的行扫描计算,验证执行代码的可靠性。符合汽车或者混合动力汽车控制软件代码安全的要求。
附图说明
图1:文件格式转换;
图2:校验任务占用的主循环时间片的数值;
图3:校验任务的处理流程图。
具体实施方式
下面结合附图介绍本发明的具体实施方式。
本发明仅适用于执行文件为摩托罗拉数据格式的二进制文件。因此,如图1所示,对非摩托罗拉数据格式的二进制文件H12文件通过转换文件SRecCvt.exe转换成摩托罗拉数据格式的二进制文件S19文件。该文件行数据格式固定,且行宽字节数固定,为后续的行扫描处理提供定义规范,同时方便后面的程序处理。
在S19文件中,将每一个行执行代码的数值进行校验计算,并且将计算的结果放在该行结尾的最后一个字节,作为后面内存中执行代码校验计算的校验码。
这样处理的好处:
可以到每一行固定的地址上,扫描查询到具有特定含义的数据,比如:校验值,方便后续程序处理。
本发明主要是针对大容量的存储介质进行校验检查。如:对256k的闪存一次性检查需要的时间大于25ms,该段程序的执行时间将会超过基本时间片的执行时间,为此,根据motorola芯片闪存的特点,将闪存的内存分成不同的存储区,每一个存储区的校验作为一个任务,在每一个循环中只执行一个任务对一个相应的存储区进行校验,只有每一行校验都通过时候,该段存储区校验才是通过的,每个任务都可以根据主循环时间的许可情况,完成该任务的执行。这样既然能够对闪存所有的存储介质进行检查,同时又能够满足程序代码执行时间的限制要求。
如图2所示,同时考虑整车控制软件主程序时间片执行时间的限制要求,将闪存按照可许可执行时间划分为不同的任务,每一主时间片只执行其中一个任务,每一个校验任务的执行时间小于主时间片的30%。
如图3所示,本发明根据不同闪存容量大小的不同,将闪存分解成不同大小的任务单元。然后,多个不同的任务将由任务校验分配管理函数进行该任务的管理和分配;对每一个校验任务都可以通过任务校验处理函数进行处理,在任务校验处理函数中,实时行扫描需要校验的闪存内存区,通过计算查看每一行的计算数值是否与存储在该行结尾的校验码是否相等,来判断该行执行代码是否在执行以前遭到破坏。如果没有遭到破坏,退出该任务,继续执行主循环,如果遭到破坏,程序将禁用混合动力的所有功能,进入刷新模式,保护混合动力汽车的安全。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇瑞汽车股份有限公司,未经奇瑞汽车股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810186264.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:机动车营销网络应用系统
- 下一篇:固态存储硬盘数据恢复方法和装置





