一种解决FOTA升级失败后无法重刷的方法及其系统与流程

文档序号:24984358发布日期:2021-05-07 23:01阅读:465来源:国知局
一种解决FOTA升级失败后无法重刷的方法及其系统与流程

本发明涉及汽车电控技术领域,特别是涉及一种解决fota升级失败后无法重刷的方法



背景技术:

现有技术中,在对汽车中控系统进行软件升级时,出现掉电、断线,可能导致汽车中控系统升级失败,造成汽车中控系统死机、重启、at不通等情况,极大的影响了汽车中控系统可靠性,同时也给汽车中控系统的售后维护带来极大的工作量。

在如下文献中,还可以发现更多与上述技术方案相关的信息:

在公告号为cn106610840a的中国发明专利中公开了一种无线固件(fota)升级方法,建立分区升级信息标识表,并设置备份缓冲区;其中,所述分区升级信息标识表用于存储各分区的升级状态信息;分区升级前,将需要升级的分区内的系统文件存储到所述备份缓冲区中;根据fota升级包内的分区升级文件依次对每个需要升级的分区进行升级;当分区升级失败时,从所述分区升级信息标识表中获取升级失败的分区的分区信息,根据获得的升级失败的分区的分区信息获取备份缓冲区内存储的原分区系统文件,恢复所述升级失败的分区。

在公告号为cn106610840a的中国发明专利中公开了一种fota升级方法、无线通信终端以及存储介质。该方法包括:进入标准模式,对所述恢复分区执行备份流程;对恢复分区进行升级;进入恢复模式,依次判断每个所述正常分区是否为待升级分区,若是则对该正常分区执行备份流程;对所有待升级的正常分区进行升级;所述备份流程包括:在所述备份分区内写入待升级分区的分区索引信息;将待升级分区的数据备份至所述备份分区。本发明实施例通过升级前备份分区数据以及升级中断的下次上电后将数据恢复至对应分区的方式,保证了存储芯片在升级失败后再次进行升级时可以校验正常,解决了升级失败造成的无线通信终端恢复困难的问题。

但是,现有技术存在当ecu进行fota刷新错误后,短时间内无法再次刷写或者再次刷写无法成功的情况。



技术实现要素:

为此,需要提供一种解决fota升级失败后无法重刷的方法及其系统,以防止ecu进行fota刷新失败后,短时间内无法再次对ecu执行刷新情况下,ecu软件可以保持当前软件版本,恢复自身功能,保证车辆正常使用。

为实现上述目的,发明人提供了一种解决fota升级失败后无法重刷的方法,包括以下步骤:

将ecu的内存进行分区,分为程序运行区以及程序存储区;

ds服务器将ecu刷新任务文件发送至tsp平台,tsp平台对刷新任务文件包进行解析,解析完成后,将刷新任务文件包发送至汽车端t-box;

汽车端t-box对刷新任务文件包继续解析,解析完成后,启动ecu刷新流程;

ecu将下载的软件升级包更新到程序存储区,更新过程中,若发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,则预设时间内无法将程序存储区的刷新任务文件转入程序运行区内,进行更新;

若未发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,则等待刷新任务升级包完全更新到程序存储区内后,将程序存储区的刷新任务文件转入程序运行区内,进行更新,直至完成更新。对ecu的内存结构进行变更,分为程序运行区和程序存储区,能够有效的防止软件刷写失败的ecu此时不会失去自身功能,车辆仍然可以正常使用。

作为本发明的一种优选方法,若发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,ecu并不更新软件版本,保持当前版本,并将刷新文件包进行删除。更新失败后,仍然保持当前版本,有效的解决了车辆ecu的运行问题,有效防止了更新失败直接导致ecu无法启动和运行的问题,更新失败后将刷新文件包进行删除,能有效的节约程序储存区的存储空间。

作为本发明的一种优选方法,将刷新文件包删除后,将诊断仪接入汽车端t-box中,进行诊断,诊断是否有其他错误问题或者刷新文件包相关数据是否删除完整,ecu维持车辆诊断与刷新时链路通畅。接入诊断仪,对刷新文件包的数据是否删除完整进行再次核查,一方面能够节约存储空间,另一方面也能防止与后续的刷新文件包相互抵触。

作为本发明的一种优选方法,若未发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,将刷新任务文件包更新至程序存储区内,判断刷新任务文件包是否完全更新至程序存储区内,若完全更新至程序存储区内,则转入程序运行区,进行更新。先对程序存储区的更新任务进行判断,判断完全更新后再转入程序运行区,为程序运行区的更新提供了保障。

作为本发明的一种优选方法,在转入程序运行区之前,ecu在程序存储区内对刷新任务文件进行试运行,测试是否有刷新任务文件包错误或者刷新流程错误的问题,若未发生刷新任务文件包错误或者刷新流程错误的问题,再转入程序运行区,进行更新。先进行试运行,为程序运行区的更新和成功运行提供进一步的保障。

作为本发明的一种优选方法,ecu实时将ecu刷新结果反馈给汽车t-box,汽车t-box将ecu刷新结果以及日志反馈给tsp平台,tsp平台将ecu刷新结果及日志反馈给ds服务器。实现对刷新结果的实时反馈。

发明人还提供了一种解决fota升级失败后无法重刷的系统,包括用于执行上述任意一项所述的解决fota升级失败后无法重刷的方法的执行单元以及存储单元。

区别于现有技术,上述技术方案将ecu的内存进行分区,分为程序运行区以及程序存储区;ds服务器将ecu刷新任务文件发送至tsp平台,tsp平台对刷新任务文件包进行解析,解析完成后,将刷新任务文件包发送至汽车端t-box;汽车端t-box对刷新任务文件包继续解析,解析完成后,启动ecu刷新流程;ecu将下载的软件升级包更新到程序存储区,更新过程中,若发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,则预设时间内无法将程序存储区的刷新任务文件转入程序运行区内进行更新,能够有效防止ecu进行fota刷新失败后,短时间内无法再次对ecu执行刷新情况下,ecu软件可以保持当前软件版本,恢复自身功能,保证车辆正常使用。

附图说明

图1为具体实施方式所述车载ecu的fota升级流程图;

图2为具体实施方式所述解决fota升级失败后无法重刷的升级流程图;

图3为具体实施方式所述解决fota升级失败后无法重刷的方法步骤图。

附图标记说明:

101、程序存储区,

102、程序运行区,

103、ecu,

104、t-box,

105、tsp平台,

106、ds服务器。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

请参阅图1至图3,本实施例提供一种解决fota升级失败后无法重刷的方法,具体为当车辆上某ecu存在软件功能升级需求或某些软件相关bug需要修复,此时需要对ecu进行软件升级,将升级软件发至ds服务器,ds服务器将根据特定协议做成ecu刷新升级压缩包文件,ecu刷新升级压缩包文件主要包含ecu升级流程文件、ecu软件升级包、升级相关需求信息以及相关安全校验信息等。将升级压缩包文件发送至tsp平台,由tsp平台进行解析并验证,待完成后,将解析后的内容发送至车辆端远程服务功能模块即t-box,t-box接收相关文件完成后,反馈接收文件结果并进行二次解析文件,待约定时间到达,tsp平台发送开始升级指令至t-box,t-box命令车辆进行上电,此时整车ecu全部进行上电初始化,t-box启动刷新引擎按照刷写流程针对升级ecu发送刷写指令,ecu刷写升级流程正式启动,待升级完成后,t-box获取ecu刷写升级结果,若升级结果为成功,由t-box将刷新结果反馈至tsp平台,tsp平台获取结果后发送至ds服务器,进行任务结果归档,若升级结果为失败,将刷新结果及刷新日志反馈至tsp平台,同时可再次尝试升级。

本实施例提供一种解决fota升级失败后无法重刷的方法,包括以下步骤:

s101、将ecu103的内存进行分区,分为程序运行区101以及程序存储区102;

s102、ds服务器106将ecu刷新任务文件发送至tsp平台105,tsp平台105对刷新任务文件包进行解析,解析完成后,将刷新任务文件包发送至汽车端t-box;

s103、汽车端t-box104对刷新任务文件包继续解析,解析完成后,启动ecu刷新流程;

ecu将下载的软件升级包更新到程序存储区,更新过程中,若发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,则预设时间内无法将程序存储区的刷新任务文件转入程序运行区内,进行更新;

s1041、若发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,ecu并不更新软件版本,保持当前版本,并将刷新文件包进行删除。更新失败后,仍然保持当前版本,有效的解决了车辆ecu的运行问题,有效防止了更新失败直接导致ecu无法启动和运行的问题,更新失败后将刷新文件包进行删除,能有效的节约程序储存区的存储空间。

进一步地,将刷新文件包删除后,将诊断仪接入汽车端t-box中,进行诊断,诊断是否有其他错误问题或者刷新文件包相关数据是否删除完整,ecu维持车辆诊断与刷新时链路通畅。接入诊断仪,对刷新文件包的数据是否删除完整进行再次核查,一方面能够节约存储空间,另一方面也能防止与后续的刷新文件包相互抵触。

s1042、若未发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,则等待刷新任务升级包完全更新到程序存储区内后,将程序存储区的刷新任务文件转入程序运行区内,进行更新,直至完成更新。

进一步地,若未发生网络信号不佳、刷新任务文件包错误或者刷新流程错误的问题,将刷新任务文件包更新至程序存储区内,判断刷新任务文件包是否完全更新至程序存储区内,若完全更新至程序存储区内,则转入程序运行区,进行更新。先对程序存储区的更新任务进行判断,判断完全更新后再转入程序运行区,为程序运行区的更新提供了保障。

进一步地,在转入程序运行区之前,ecu在程序存储区内对刷新任务文件进行试运行,测试是否有刷新任务文件包错误或者刷新流程错误的问题,若未发生刷新任务文件包错误或者刷新流程错误的问题,再转入程序运行区,进行更新。先进行试运行,为程序运行区的更新和成功运行提供进一步的保障。

进一步地,ecu实时将ecu刷新结果反馈给汽车t-box,汽车t-box将ecu刷新结果以及日志反馈给tsp平台,tsp平台将ecu刷新结果及日志反馈给ds服务器。实现对刷新结果的实时反馈。

发明人还提供了一种解决fota升级失败后无法重刷的系统,包括用于执行上述任意一项所述的解决fota升级失败后无法重刷的方法的执行单元以及存储单元。

将ecu内存结构分为程序运行区和程序存储区。ds服务器将ecu刷新任务文件发送至tsp平台,tsp平台解析完成后,将刷新任务文件发送至车端t-box,t-box成功解析后,启动ecu刷新流程,此时ecu将最新下载的软件升级包更新到程序存储区,若成功及将此软件升级包更将到程序运行区,反之则不更新程序运行区,此时,若网络信号不佳或产生其他问题、刷新文件包或刷新流程错误,短时间内无法再次对ecu执行刷新,软件刷新失败的ecu此时不会失去自身功能,车辆可正常使用。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:ram、rom、磁碟、磁带、光盘、闪存、u盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。

上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1