掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及软件刷新领域,尤其涉及基于CAN诊断的MCU软件刷新及加载备份的方法。

背景技术

AVM为360度全景影像系统,在汽车上起到监测环境路况的作用。为了各个组件之间传输信息,需要通过CAN(控制器局域网)诊断进行数据交互。CAN诊断是一种世界标准的串行通讯协议,为数据高速公路确定统一的“交通”规则,常常用于汽车电子中的数据通讯。

当AVM售后出现问题,需要刷新MCU软件来解决问题。但在刷新过程中有可能会遇到各种问题,比如电压异常、线束断开、CAN负载率大等,从而导致刷新失败。如果软件中不做备份刷新,刷新失败后AVM功能就会失效,导致工时增加,严重的话会导致客户抱怨,车辆质量投诉增加。因此需要软件进行备份从而保证刷新失败后程序能够正常运行。现有技术中提供了用软件进行备份的解决方案,然而由于软件备份是在Boot(启动)区域操作完成的,而Boot区域在更新写入备份软件时,外部来的数据如果中断,那么备份的软件是不完整的。因此可能出现数据备份不准确的情况。

发明内容

为了克服上述技术缺陷,本发明的提供一种基于CAN诊断的MCU软件刷新及加载备份的方法,将MCU的flash(闪存)分为Boot区域,APP(应用)区域,软件备份区域,其中:

所述Boot区域为MCU程序加载的入口,每次MCU上电都检查是否有刷新请求,如果有刷新请求,则擦除所述APP区域的数据,将接收到的新数据存放于APP区域,所有数据接收完毕后将软件备份flag(标志旗)置0,并跳转到APP区域执行;

所述APP区域用于存放并执行应用软件,执行应用软件之前若发现所述软件备份flag为0,将APP区域数据拷贝到软件备份区域,并将所述软件备份flag置1;

所述软件备份区域用于存放应用软件的备份。

进一步的,所述Boot区域在接收刷新数据之前,需要密钥信息核对,核对正确后才允许接收外来数据。

进一步的,所述Boot区域对收到的新的数据进行校验,校验成功后将其存放于APP区域。

进一步的,所述Boot区域检查APP区域数据是否完整,如果完整跳到APP区域执行,否则将备份区域数据拷贝到APP区域执行。

进一步的,CAN刷新流程遵循ISO 11898-1,ISO 14229-1,ISO 15765-2,ISO15765-3标准。

采用了上述技术方案后,与现有技术相比,具有以下有益效果:

1.本发明执行软件备份的动作在APP区域完成,相当于软件自我备份,这样可以保证数据的正确和可执行性,从而避免Boot区域中软件备份的不完整性。

2.本发明在软件刷新失败后能立刻调取备份软件到APP区域运行,不会导致产品功能丧失。

3.本发明的备份数据是能运行的APP程序,从而保证程序的运行和产品功能。

附图说明

图1为MCU内部flash分布示意图。

图2为基于CAN诊断的MCU软件刷新及加载备份的方法流程图。

具体实施方式

以下结合附图与具体实施例进一步阐述本发明的优点。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1所示,将MCU的flash分为3个区域:Boot区域,APP区域和软件备份区域。

Boot区域为软件开始执行的入口,当刷新时擦除APP区域的数据,对收到的新的数据进行校验,校验成功后将数据存放于相应地址区域,所有数据接收完毕后将软件备份flag置为0,并且检查APP软件是否完整,如果完整跳到APP区域执行,否则将备份区域数据拷贝过来去执行。

APP区域为应用软件的执行区域,程序的正常功能运行在此区域。软件刷新后第一次上电后从Boot区域跳到APP区域时,此时软件备份flag为0,将APP区域flash数据拷贝到软件备份区来完成软件备份,同时将软件备份flag置1,表示备份已完成并将此标志存入EEPROM,下次上电时读取此flag如果为1,将不会再备份。

软件备份区域用于存放应用软件的备份。

如图2所示是整个诊断刷新备份流程,具体实施方式如下:

1,AVM上电后首先进入Boot区域检查是否有刷新请求,没有刷新请求后检查APP软件是否完整,完整则跳转到APP区域运行。

2,如果在APP区域收到了CAN诊断刷新请求,程序会跳转到Boot区域运行,Boot区域确认有刷新请求后经过一系列的密钥信息核对,核对正确后允许外来MCU数据传输,同时擦掉原有的flash中APP数据,准备接收新的MCU数据,数据全部传输完毕后上位机会请求传输退出,此时Boot区域对数据查验OK后将软件备份flag置0,并正常退出,软件跳到Boot区域开头重新启动。

3,从Boot区域跳转到APP区域运行新的程序,由于软件备份flag为0,新程序会备份到软件备份区域,以防止下次刷新失败软件不能正常运行。软件备份完成后软件备份flag标志也会置1。CAN刷新流程遵循ISO 11898-1,ISO 14229-1,ISO 15765-2,ISO 15765-3标准。

应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。

相关技术
  • 基于数据库的动态加载通信协议的测试软件开发方法
  • 一种MCU自我备份加载刷新的方法
  • 一种MCU自我备份加载刷新的方法
技术分类

06120116502933