车用控制器非易失存储器内容的校验方法

文档序号:6338982阅读:378来源:国知局
专利名称:车用控制器非易失存储器内容的校验方法
技术领域
本发明涉及一种车用控制器非易失存储器内容的校验方法。
背景技术
非易失存储器是混合动カ整车控制器的核心単元,用于存储控制器程序运行所需的执行代码。由于非易失存储器的物理特性及汽车控制器所处的严酷的工作环境,其存储的内容有可能出现错误,导致控制器不能正常运行,可能使车辆在行驶过程中造成严重的损失。因此,对非易失存储器内容的正确性进行检测是十分必要的。
现有技术中,对非易失存储器内容的校验是在毎次车辆启动时进行全部内容的校验,校验方法包括校验和、循环冗余校验等,消耗大量的时间,严重影响车辆的启动时间,对车辆使用的舒适性能造成极大的影响。

发明内容
本发明的发明目的在于提供一种车用控制器非易失存储器内容的校验方法,能够在不影响车辆使用性能的同时进行存储内容的检验。实现本发明的技术方案一种车用控制器非易失存储器内容的校验方法,控制器程序运行的执行代码存储在非易失存储器内,执行代码按存储地址划分成多个数据段,其特征在于对烧写入存储器的执行代码预先进行处理,计算每ー个数据段的校验和,所有数据段的校验和构成校验数据存放在非易失存储器的指定位置;校验时,利用控制器程序两个运行周期之间的空闲时间,计算数据段的校验和,将校验和与存放在非易失存储器指定位置的校验数据进行比较。完成一个数据段的校验后,再进行下一数据段的校验,在所有数据段完成校验后,再次循环进行校验。校验时,若数据段的校验和与存放在非易失存储器指定位置的校验数据不一致,则对该数据段设置标志位。校验时,将每个数据段划分成多个数据块,利用控制器程序两个运行周期之间的空闲时间计算ー个数据块的校验和,直至计算出一个数据段的校验和。利用控制器程序两个运行周期之间的空闲时间计算出数据块的校验和后,判断是否已完成数据段的计算,若未完成,则保留计算结果,待下一个控制器程序两个运行周期之间的空闲时间继续计算校验和。 数据块的长度设置有最大值。确定每次计算的数据块长度吋,应使该数据块位于存储器的同一页面空间本发明具有的有益效果本发明首先对烧写入存储器的执行代码预先进行处理,计算每ー个数据段的校验和,所有数据段的校验和构成校验数据存放在非易失存储器的指定位置;校验时,利用控制器程序两个运行周期之间的空闲时间,计算数据段的校验和,将校验和与存放在非易失存储器指定位置的校验数据进行比较,从而在不影响车辆使用性能的情况下,完成对存储内容的检验。


图I为将各数据段校验和存放到存储器指定位置的示意图;图2为控制器程序运行时对非易失存储器内容进行校验的流程图;
图3为对存储器内容进行校验的流程图;图4为校验时计算校验和的流程图。
具体实施例方式如图I所示,控制器程序运行的执行代码存储在非易失存储器内,执行代码按存储地址划分成多个数据段,此为现有技术。对烧写入存储器的执行代码预先进行处理,完成对执行代码的编译之后,对生成的代码文件将通过上位机程序进行解析计算,计算每ー个数据段的校验和,校验和为该数据段所有值的和的低16 (或32)位值,所有数据段的校验和构成校验数据存放在非易失存储器的指定位置,该位置独立于各数据段的存放位置,从而生成最終的执行文件。如图2、图3所示,校验时,利用控制器程序两个运行周期之间的空闲时间,计算数据段的校验和,将校验和与存放在非易失存储器指定位置的校验数据进行比较,完成一个数据段的校验后,再进行下一数据段的校验,在所有数据段完成校验后,再次循环进行校验。校验时,若数据段的校验和与存放在非易失存储器指定位置的校验数据不一致,则对该数据段设置标志位。如图4所示,校验时,将每个数据段划分成多个数据块,利用控制器程序两个运行周期之间的空闲时间计算ー个数据块的校验和,直至计算出一个数据段的校验和。利用控制器程序两个运行周期之间的空闲时间计算出数据块的校验和后,判断是否已完成数据段的计算,若未完成,则保留计算结果,待下一个控制器程序两个运行周期之间的空闲时间继续计算校验和。数据块的长度设置有最大值,考虑到某些控制器处理器存在分页存储器物理地址和处理器寻址空间存在映射情况(如ー些16位的处理器),为避免页面切换带来的程序复杂度的提升,在确定每次计算的数据快的大小吋,应使该数据块位于存储器的同一页面空间。
权利要求
1.一种车用控制器非易失存储器内容的校验方法,控制器程序运行的执行代码存储在非易失存储器内,执行代码按存储地址划分成多个数据段,其特征在于对烧写入存储器的执行代码预先进行处理,计算每ー个数据段的校验和,所有数据段的校验和构成校验数据存放在非易失存储器的指定位置;校验时,利用控制器程序两个运行周期之间的空闲时间,计算数据段的校验和,将校验和与存放在非易失存储器指定位置的校验数据进行比较。
2.根据权利要求I所述的车用控制器非易失存储器内容的校验方法,其特征在于完成一个数据段的校验后,再进行下一数据段的校验,在所有数据段完成校验后,再次循环进行校验。
3.根据权利要求2所述的车用控制器非易失存储器内容的校验方法,其特征在于校验时,若数据段的校验和与存放在非易失存储器指定位置的校验数据不一致,则对该数据段设置标志位。
4.根据权利要求3所述的车用控制器非易失存储器内容的校验方法,其特征在于校验时,将每个数据段划分成多个数据块,利用控制器程序两个运行周期之间的空闲时间计算ー个数据块的校验和,直至计算出一个数据段的校验和。
5.根据权利要求4所述的车用控制器非易失存储器内容的校验方法,其特征在于利用控制器程序两个运行周期之间的空闲时间计算出数据块的校验和后,判断是否已完成数据段的计算,若未完成,则保留计算结果,待下一个控制器程序两个运行周期之间的空闲时间继续计算校验和。
6.根据权利要求5所述的车用控制器非易失存储器内容的校验方法,其特征在于数据块的长度设置有最大值。
7.根据权利要求6所述的车用控制器非易失存储器内容的校验方法,其特征在于确定每次计算的数据块长度吋,应使该数据块位于存储器的同一页面空间。
全文摘要
本发明涉及一种车用控制器非易失存储器内容的校验方法,控制器程序运行的执行代码存储在非易失存储器内,执行代码按存储地址划分成多个数据段,其特征在于对烧写入存储器的执行代码预先进行处理,计算每一个数据段的校验和,所有数据段的校验和构成校验数据存放在非易失存储器的指定位置;校验时,利用控制器程序两个运行周期之间的空闲时间,计算数据段的校验和,将校验和与存放在非易失存储器指定位置的校验数据进行比较。本发明能够在不影响车辆使用性能的同时进行存储内容的检验。
文档编号G06F11/10GK102722421SQ20101059316
公开日2012年10月10日 申请日期2010年12月17日 优先权日2010年12月17日
发明者徐国栋, 李军华 申请人:奇瑞汽车股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1