[发明专利]一种防止重编程程序对应用程序干扰的方法及装置无效
申请号: | 201210093055.2 | 申请日: | 2012-03-31 |
公开(公告)号: | CN102650939A | 公开(公告)日: | 2012-08-29 |
发明(设计)人: | 胡娜;陈昆盛 | 申请(专利权)人: | 北京经纬恒润科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100101 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 编程 程序 应用程序 干扰 方法 装置 | ||
技术领域
本发明涉及应用程序更新过程中防干扰技术,更具体的说,是涉及一种防止重编程程序对应用程序干扰的方法及装置。
背景技术
ECU(Electronic Control Unit,电子控制单元)又称“行车电脑”,是汽车专用的微机控制器。当车载ECU中的应用程序存在缺陷或者需要升级时,可以通过在线重编程的方法对ECU中的应用程序进行更新,具备在线重编程功能的ECU里除了应用程序外,还有重编程程序,从车载总线上接收到新的应用程序并且写入ECU里。
因此,ECU有两种运行模型:重编程模式和应用程序模式;在重编程模式下,应用程序不运行,由重编程软件下载新的应用程序,并写入ECU,对应用程序进行更新;当重编程完成后,跳转到应用程序模式下,运行控制算法。重编程程序和应用程序共享ECU资源,如MCU,存储芯片、定时器和EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)等。当ECU从重编程模式切换到应用程序模式时,重编程程序已经启动MCU资源,如定时器、存储器等已开始被使用,应用程序继续使用这些资源时,有可能会发生错误,如应用程序定时时间不准确、存储器访问结果错误等。
本发明在于提供一种方法和装置,解决重编程程序对应用程序造成的干扰,避免应用程序运行出现错误。
发明内容
有鉴于此,本发明提供了一种防止重编程程序对应用程序干扰的方法及装置,以解决现有技术中对应用程序更新时,重编程程序对应用程序造成的干扰,避免从重编程模式切换到应用程序时,应用程序出现运行错误的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种防止重编程程序对应用程序干扰的方法,包括:
初始化控制器的硬件环境和软件环境;
获取重编程标识,并判断所述重编程标识是否有效;
如果所述重编程标识有效,则运行所述重编程程序;如果所述重编程标识无效,则获取应用程序标识,并判断所述应用程序标识是否有效;
如果所述应用程序标识有效,则反初始化所述控制器的硬件环境,并运行所述应用程序。
进一步地,所述判断所述重编程标识是否有效,具体包括:
判断所述重编程标识与预设的第一有效值是否相等,如果相等,则判定所述重编程标识有效;否则,判定所述重编程标识无效。
进一步地,所述判断所述应用程序标识是否有效,具体包括:
判断所述应用程序标识与预设的第二有效值是否相等,如果相等,则判定所述应用程序标识有效;否则,判定所述应用程序标识无效。
进一步地,所述初始化控制器的硬件环境和软件环境,具体包括:
为所述控制器的定时器、EEPROM、时钟模块和CAN模块设置初始值。
进一步地,所述反初始化控制器的硬件环境,具体包括:
将所述控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器的值恢复到默认值。
本发明实施例还提供了一种防止重编程程序对应用程序干扰的装置,该装置包括:
初始化模块,用于初始化控制器的硬件环境和软件环境;
重编程标识获取和判断模块,用于获取重编程标识,并判断所述重编程标识是否有效;
重编程程序模块,用于当所述重编程标识有效时,运行重编程程序;
应用程序标识获取和判断模块,用于当所述重编程标识无效时,获取应用程序标识,并判断所述应用程序标识是否有效;
应用程序模块,用于当应用程序标识有效时,运行所述应用程序;
反初始化模块:用于在运行所述应用程序之前,反初始化所述控制器的硬件环境。
所述重编程标识获取和判断模块,具体用于:
判断所述重编程标识与预设的第一有效值是否相等,如果相等,则判定所述重编程标识有效;否则,判定所述重编程标识无效。
所述应用程序标识获取和判断模块,具体用于:
判断所述应用程序标识与预设的第二有效值是否相等,如果相等,则判定所述应用程序标识有效;否则,判定所述应用程序标识无效。
所述初始化模块,具体用于:
为所述控制器的定时器、EEPROM、时钟模块和CAN模块设置初始值。
所述反初始化模块,具体用于:
在运行所述应用程序之前,将所述控制器的定时器、EEPROM、时钟模块和CAN模块的寄存器恢复到默认值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京经纬恒润科技有限公司,未经北京经纬恒润科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210093055.2/2.html,转载请声明来源钻瓜专利网。