CN110362327B - 应用程序更新方法、装置及系统 - Google Patents

应用程序更新方法、装置及系统 Download PDF

Info

Publication number
CN110362327B
CN110362327B CN201910631831.1A CN201910631831A CN110362327B CN 110362327 B CN110362327 B CN 110362327B CN 201910631831 A CN201910631831 A CN 201910631831A CN 110362327 B CN110362327 B CN 110362327B
Authority
CN
China
Prior art keywords
application program
control unit
electronic control
wake
sources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910631831.1A
Other languages
English (en)
Other versions
CN110362327A (zh
Inventor
林健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201910631831.1A priority Critical patent/CN110362327B/zh
Publication of CN110362327A publication Critical patent/CN110362327A/zh
Application granted granted Critical
Publication of CN110362327B publication Critical patent/CN110362327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种应用程序更新方法、装置及系统,其中方法应用于电子控制单元,方法包括:判断已有应用程序是否出现异常;在确定已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;控制电子控制单元进入下载模式,以从上位机下载最新应用程序;利用最新应用程序更新已有应用程序。本发明不再使用已有技术中由应用程序主导的更新过程,而是由BT程序控制ECU直接进入下载模式,以便从上位机下载最新应用程序更新已有应用程序,进而消除应用程序的异常情况,保证ECU可以继续被刷新、继续可以使用。

Description

应用程序更新方法、装置及系统
技术领域
本发明涉及通信技术领域,尤其涉及应用程序更新方法、装置及系统。
背景技术
电子控制单元(ECU)又称“行车电脑”、“车载电脑”等,其集成有两部分程序:一部分为引导装入程序(Bootloader,简称BT)用于引导应用程序启动、对应用程序进行刷新、基本的硬件初始化操作等;另一部分为应用程序,用于实现ECU的功能。
在ECU使用过程中,与ECU相连的上位机可以向ECU中应用程序发送更新请求,应用程序接收更新请求后将“下载请求标志位”置位。ECU重启系统并执行BT程序,BT在验证“下载请求标志位”有效后,进入下载模式,以从上位机下载最新应用程序并更新已有应用程序。
但是,在ECU使用过程中,可能会出现应用程序故障或应用程序与ECU硬件不匹配等异常问题。在应用程序出现异常问题的情况下,会导致应用程序无法将“下载请求标志位”置位。
此情况下,ECU可以重启系统执行BT程序,但是由于“下载请求标志位”无效,所以无法进入下载模式,继而导致ECU无法被刷新,后续需拆卸ECU并返厂维修。
发明内容
鉴于此,本发明提供一种应用程序更新方法、装置及系统,可以在应用程序出现异常问题的情况下,能够继续更新ECU的应用程序,使得ECU能够继续使用。
为了实现上述目的,本申请提供了下述技术特征:
一种应用程序更新方法,应用于电子控制单元,所述方法包括:
判断已有应用程序是否出现异常;
在确定所述已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;
控制电子控制单元进入下载模式,以从上位机下载最新应用程序;
利用所述最新应用程序更新所述已有应用程序。
可选的,所述判断已有应用程序是否出现异常包括:
在更新所述已有应用程序至所述电子控制单元的过程中,判断是否更新成功;
若更新成功,则将应用程序有效标志位设置为有效状态,并在运行所述已有应用程序的过程中,记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间;
若更新失败,则确定所述已有应用程序出现异常。
可选的,所述判断已有应用程序是否出现异常包括:
从历史数据中获取两个以上唤醒源以及对应的运行时间;
计算所述两个以上唤醒源对应的运行时间的平均值;
若所述两个以上唤醒源均为看门狗,且,所述平均值小于预设时间阈值,则确定所述已有应用程序出现异常。
可选的,在所述记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间之后,还包括:
每记录一个唤醒源则生成随机数;
将所述历史数据中两个以上唤醒源和所述随机数组成第一字符串;
对所述第一字符串进行哈希运算并得到第一哈希计算结果;
存储所述第一哈希计算结果和所述随机数。
可选的,在所述计算所述两个以上唤醒源对应的运行时间的平均值之前,还包括:
获取已存储的所述第一哈希计算结果和所述随机数;
将所述随机数和从所述历史数据中获取的两个以上唤醒源组成第二字符串;
对所述第二字符串进行哈希运算并获得第二哈希计算结果;
若所述第一哈希计算结果和所述第二哈希计算结果一致,再执行所述计算所述两个以上唤醒源对应的运行时间的平均值的步骤。
可选的,所述记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间,包括:
采用预设数量个寄存器来存储唤醒源和运行时间;
若预设数量个寄存器中包含内容为空的寄存器,则在电子控制单元重启时获取唤醒源后,按排列顺序存储该唤醒源和该唤醒源对应的运行时间于内容为空的寄存器中;
若预设数量个寄存器中不包含内容为空的寄存器,则清空起始寄存器并将其它唤醒源和运行时间逐个前移一个寄存器,存储电子控制单元重启时的唤醒源和该唤醒源对应的运行时间于末位寄存器中。
可选的,还包括:
若所述第一哈希计算结果和所述第二哈希计算结果不一致,则清空所述预设数量个寄存器的唤醒源和运行时间。
可选的,在预设数量为N的情况下,所述将所述历史数据中两个以上唤醒源和所述随机数组成第一字符串包括:
将N个唤醒源按时间上由前至后的顺序排列成字符串;
在该字符串后添加随机数,组成第一字符串。
一种应用程序更新装置,应用于电子控制单元,所述装置包括:
判断单元,用于判断已有应用程序是否出现异常;
设置单元,用于在确定所述已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;
控制单元,用于控制电子控制单元进入下载模式,以从上位机下载最新应用程序;
更新单元,用于利用所述最新应用程序更新所述已有应用程序。
一种应用程序更新系统,包括:
上位机和与所述上位机相连的电子控制单元;
电子控制单元,用于判断已有应用程序是否出现异常;在确定所述已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;控制电子控制单元进入下载模式,以从上位机下载最新应用程序;利用所述最新应用程序更新所述已有应用程序。
通过以上技术手段,可以实现以下有益效果:
本发明为了避免出现应用程序出现异常情况导致ECU无法刷新的问题,本发明由电子控制单元中的BT程序持续监控应用程序是否出现异常,若应用程序出现异常则将应用程序有效标志位设置为无效状态,不再使用已有技术中由应用程序主导的更新过程,而是由BT程序控制ECU直接进入下载模式,以便从上位机下载最新应用程序更新已有应用程序,进而消除应用程序的异常情况,保证ECU可以继续被刷新、继续可以使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种应用程序更新系统的结构示意图;
图2为本发明实施例公开的一种应用程序更新方法的流程图;
图3为本发明实施例公开的又一种应用程序更新方法的流程图;
图4为本发明实施例公开的又一种应用程序更新方法中寄存器的示意图;
图5为本发明实施例公开的又一种应用程序更新方法中寄存器的示意图;
图6为本发明实施例公开的一种应用程序更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明提供的一个实施例,本发明提供一种应用程序更新系统。参见图1,包括:
上位机100;
与上位机100相连的电子控制单元200(ECU)。
ECU可以集成有两部分程序:一部分为引导装入程序(Bootloader,简称BT)用于引导应用程序启动、对应用程序进行刷新、基本的硬件初始化操作等;另一部分为应用程序用于实现ECU的功能。
根据本发明提供的一个实施例,提供了一种应用程序更新方法。参见图2,包括以下步骤:
步骤S201:BT程序判断已有应用程序是否异常。
为了防止应用程序出现异常情况后,无法对ECU进行刷新,所以于BT程序中增加监控操作,以用于监控已有应用程序是否出现异常。
判断已有应用程序是否异常包括两种方式:
第一种方式:在更新已有应用程序至电子控制单元的过程中,判断是否更新成功;
若更新成功,则表示已有应用程序正常,可以将应用程序有效标志位设置为有效状态。
此后ECU可以运行已有应用程序,并在运行已有应用程序的过程中,记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间,以进一步验证已有应用程序在运行过程中是否出现异常。
若更新失败,则确定已有应用程序出现异常。
第二种方式:在ECU被唤醒后,从历史数据中获取两个以上唤醒源以及对应的运行时间;计算两个以上唤醒源对应的运行时间的平均值;若两个以上唤醒源均为看门狗,且,平均值小于预设时间阈值,则确定已有应用程序出现异常。
步骤S202:BT程序在确定已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态。
在已有应用程序未出现异常的情况下,也即已有应用程序处于正常情况下,应用程序有效标志位为有效状态。
在BT程序验证已有应用程序出现异常情况下,将应用程序有效标志位设置为无效状态,以表示已有应用程序出现异常,无法继续维持有效状态。
步骤S203:BT程序控制电子控制单元进入下载模式,以从上位机下载最新应用程序。
由于已有应用程序已经出现异常情况、无法使得ECU进入下载模式,所以BT程序直接控制ECU进入下载模式,以便ECU与上位机进行数据交互,从上位机获取最新应用程序。
步骤S204:BT程序利用最新应用程序更新已有应用程序。
BT程序利用最新应用程序更新已有应用程序,如果更新成功,则应用程序有效标志位设置为有效状态,后续可以运行最新应用程序;若更新失败,则将应用程序有效标志位设置为无效状态,可以再次执行步骤S203和步骤S204。
通过以上技术手段,可以实现以下有益效果:
本发明为了避免应用程序出现异常情况导致ECU无法刷新的问题,本发明由电子控制单元中的BT程序持续监控应用程序是否出现异常,若应用程序出现异常则将应用程序有效标志位设置为无效状态,不再使用已有技术中由应用程序主导的更新过程,而是由BT程序控制ECU直接进入下载模式,以便从上位机下载最新应用程序更新已有应用程序,进而消除应用程序的异常情况,保证ECU可以继续被刷新、继续可以使用。
根据本发明提供的一个实施例,提供了一种应用程序更新方法。
为了便于后续描述,本实施例中默认已有应用程序在更新至ECU的过程中刷新成功,即应用程序有效标志位为有效状态,且ECU运行已有应用程序。
参见图3,包括以下步骤:
步骤S301:在ECU运行已有应用程序的过程中,应用程序记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间。
本实施中设置有看门狗定时器,看门狗喂狗操作于BT程序和应用程序中实现。在应用程序正常情况下看门狗可以周期性喂狗,不会引发看门狗溢出导致ECU复位;在应用程序异常的情况下,应用程序无法及时喂狗,则会导致ECU复位重启。
根据一个具体实施例,可以采用预设数量个寄存器来存储唤醒源和对应的唤醒后电子控制单元的运行时间。初始情况下,寄存器的内容均为空。预设数量个寄存器按照由前至后的顺序依次排列,在存储唤醒源和对应的运行时间时,也是按照由前至后的顺序逐个存储于寄存器中。
若预设数量个寄存器中包含内容为空的寄存器,则在电子控制单元重启时获取唤醒源后,按排列顺序存储该唤醒源于内容为空的寄存器中,且,在寄存器中存储该唤醒源对应的运行时间。
一个唤醒源对应的运行时间为该唤醒源唤醒电子控制单元后,开始计时,直到下一个唤醒源唤醒电子控制单元后结束,之间电子控制单元的运行时间为该唤醒源对应的运行时间。在确定该唤醒源对应的运行时间后,可以将运行时间存储至与该唤醒源对应的寄存器中。
若预设数量个寄存器中不包含内容为空的寄存器,则清空起始寄存器(清空起始寄存器中的唤醒源和对应的运行时间)并将其它唤醒源和运行时间逐个前移一个寄存器,存储电子控制单元重启时的唤醒源于末位寄存器中,且,在末位寄存器中存储该唤醒源对应的运行时间。
为了便于理解,参见图4,以详细举例来描述本步骤的实现过程:
假设电子控制单元中设置有N个寄存器,LOG1、LOG2……LOGN;N可以根据实际应用场景而定。N个寄存器可以用于存储电子控制单元重启时的唤醒源。
N个寄存器可以依次存储唤醒源和对应的运行时间,比如先存储唤醒源1和运行时间T1至LOG1,然后再存储唤醒源2和运行时间T2至LOG2,依次递推,直到存储唤醒源N和运行时间TN到LOGN。
参见图5,在N个寄存器均存储唤醒源后,再有新唤醒源的情况下,会清除LOG1中的唤醒源和运行时间,并将LOG2的唤醒源和运行时间存储至LOG1的寄存器中,将LOG3的唤醒源和运行时间存储至LOG2的寄存器中……LOGN的唤醒源和运行时间存储至LOGN-1的寄存器中,此时LOGN寄存器以用于存储新唤醒源和新唤醒源对应的运行时间。
在ECU被唤醒后会记录ECU的运行时间。若ECU被迫复位,则从唤醒到停止之间经过时间即为唤醒源对应的运行时间。可以理解的是,一个唤醒源对应一个运行时间。
步骤S302:应用程序计算用于防止篡改唤醒源的随机数和第一哈希计算结果。
即,每存储一个唤醒源则生成一个随机数,将历史数据中两个以上唤醒源和随机数组成第一字符串;对第一字符串进行哈希运算并得到第一哈希计算结果;存储第一哈希计算结果和随机数。
BT程序可以依据随机算法计算一个随机数,将N个寄存器中的唤醒源按LOG1、LOG2……LOGN的顺序组成字符串,也即按时间上由前至后的顺序组成字符串,并且,在该字符串最后添加随机数,获得第一字符串。
可以利用哈希算法对第一字符串进行哈希运算,获得第一哈希计算结果。关于哈希运算的过程已为成熟技术,在此不再赘述。
步骤S303:应用程序存储随机数和第一哈希计算结果于存储器中。
步骤S304:在ECU被唤醒后进入BT程序,BT程序获取两个以上唤醒源和两个以上唤醒源一一对应的运行时间、随机数和第一哈希计算结果。
在ECU被唤醒后进入BT程序,BT程序可以从N个寄存器中获取N个唤醒源和N个运行时间。为了方便后续计算可以一并从存储器中获取随机数和第一哈希计算结果。
步骤S305:BT程序计算用于防止篡改唤醒源的第二哈希计算结果。
将N个寄存器中获取的N个唤醒源和从存储器中获取的随机数组成第二字符串;对第二字符串进行哈希运算并获得第二哈希计算结果。
步骤S306:BT程序判断第一哈希计算结果与第二哈希计算结果是否一致,若一致则进入步骤S307,若不一致则将N个寄存器清空。
若第一哈希计算结果和第二哈希计算结果一致,则表示唤醒源内容未被篡改,所以可以继续进行后续的验证操作,若唤醒源内容遭到篡改,则结束程序不再执行后续操作,可以进行报警提示。
步骤S307:BT程序计算两个以上唤醒源对应的运行时间的平均值。
BT程序计算N个唤醒源对应的运行时间的平均值。
步骤S308:BT程序判断两个以上唤醒源是否均为看门狗且平均值小于预设时间阈值,若是则进入步骤S309,若否则不能判定应用程序异常。
应用程序异常可能有两种情况:
第一种情况:应用程序与ECU不匹配,所以应用程序无法运行,BT程序引导至应用程序后,应用程序无法运行,直接导致看门狗溢出、ECU复位,运行时间为0。
第二种情况:应用程序有故障,在应用程序运行起来后,很短时间内便导致看门狗溢出、ECU复位。
因此,若BT程序判定N个唤醒源均为看门狗,则表示ECU在处于非正常唤醒;并且ECU的运行时间小于预设时间阈值,则判定表示ECU处于非正常状态。
步骤S309:BT程序将应用程序有效标志位设置为无效状态。
步骤S310:BT程序控制电子控制单元进入下载模式,以从上位机下载最新应用程序;
步骤S311:BT程序利用最新应用程序更新已有应用程序。
BT程序利用最新应用程序更新已有应用程序,如果更新成功,则应用程序有效标志位设置为有效状态,后续可以运行最新应用程序;若更新失败,则将应用程序有效标志位设置为无效状态,可以再次执行步骤S310和步骤S311。
通过以上技术手段,可以实现以下有益效果:
本发明为了避免出现应用程序出现异常情况导致ECU无法刷新的问题,本发明由电子控制单元中的BT程序持续监控应用程序是否出现异常,若应用程序出现异常则将应用程序有效标志位设置为无效状态,不再使用已有技术中由应用程序主导的更新过程,而是由BT程序控制ECU直接进入下载模式,以便从上位机下载最新应用程序更新已有应用程序,进而消除应用程序的异常情况,保证ECU可以继续被刷新、继续可以使用。
参见图6,本发明提供了一种应用程序更新装置,应用于电子控制单元,装置包括:
判断单元61,用于判断已有应用程序是否出现异常;
设置单元62,用于在确定已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;
控制单元63,用于控制电子控制单元进入下载模式,以从上位机下载最新应用程序;
更新单元64,用于利用最新应用程序更新已有应用程序。
其中,判断单元61判断已有应用程序是否出现异常包括:
在更新已有应用程序至电子控制单元的过程中,判断是否更新成功;
若更新成功,则将应用程序有效标志位设置为有效状态。
记录单元65,用于在运行已有应用程序的过程中,记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间;
若更新失败,则确定已有应用程序出现异常。
其中,判断单元61判断已有应用程序是否出现异常包括:
从历史数据中获取两个以上唤醒源以及对应的运行时间;
计算两个以上唤醒源对应的运行时间的平均值;
若两个以上唤醒源均为看门狗,且,平均值小于预设时间阈值,则确定已有应用程序出现异常。
应用程序更新装置,在记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间之后,还包括:
哈希计算单元66,用于每记录一个唤醒源则生成随机数;将历史数据中两个以上唤醒源和随机数组成第一字符串;对第一字符串进行哈希运算并得到第一哈希计算结果;存储第一哈希计算结果和随机数。
应用程序更新装置中哈希计算单元66,还用于在计算两个以上唤醒源对应的运行时间的平均值之前,获取已存储的第一哈希计算结果和随机数;将随机数和从历史数据中获取的两个以上唤醒源组成第二字符串;对第二字符串进行哈希运算并获得第二哈希计算结果。
结果判断单元67,用于判断第一哈希计算结果和第二哈希计算结果是否一致。
计算单元68,用于若第一哈希计算结果和第二哈希计算结果一致,再执行计算两个以上唤醒源对应的运行时间的平均值的步骤。
其中,记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间,包括:
采用预设数量个寄存器来存储唤醒源和运行时间;
若预设数量个寄存器中包含内容为空的寄存器,则在电子控制单元重启时获取唤醒源后,按排列顺序存储该唤醒源和该唤醒源对应的运行时间于内容为空的寄存器中;
若预设数量个寄存器中不包含内容为空的寄存器,则清空起始寄存器并将其它唤醒源和运行时间逐个前移一个寄存器,存储电子控制单元重启时的唤醒源和该唤醒源对应的运行时间于末位寄存器中。
参见图1,本发明提供了一种应用程序更新系统,包括:
上位机100和与上位机100相连的电子控制单元200;
电子控制单元200,用于判断已有应用程序是否出现异常;在确定已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;控制电子控制单元进入下载模式,以从上位机下载最新应用程序;利用最新应用程序更新已有应用程序。
本发明还提供一种电子设备,包括:
处理器;以及
存储器,用于存储处理器的可执行指令;
其中,处理器配置为经由执行可执行指令来执行图2或图3所示的应用程序更新方法。
本发明还提供一种存储介质,存储介质用于存储软件程序,该软件程序可用于实现图2或图3所示的应用程序更新方法。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种应用程序更新方法,其特征在于,应用于电子控制单元,所述方法包括:
判断已有应用程序是否出现异常;
在确定所述已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;
控制电子控制单元进入下载模式,以从上位机下载最新应用程序;
利用所述最新应用程序更新所述已有应用程序;
其中,所述判断已有应用程序是否出现异常包括:
从历史数据中获取两个以上唤醒源以及对应的运行时间;
计算所述两个以上唤醒源对应的运行时间的平均值;
若所述两个以上唤醒源均为看门狗,且,所述平均值小于预设时间阈值,则确定所述已有应用程序出现异常。
2.如权利要求1所述的应用程序更新方法,其特征在于,所述判断已有应用程序是否出现异常,还包括:
在更新所述已有应用程序至所述电子控制单元的过程中,判断是否更新成功;
若更新成功,则将应用程序有效标志位设置为有效状态,并在运行所述已有应用程序的过程中,记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间;
若更新失败,则确定所述已有应用程序出现异常。
3.如权利要求2所述的应用程序更新方法,其特征在于,在所述记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间之后,还包括:
每记录一个唤醒源则生成随机数;
将所述历史数据中两个以上唤醒源和所述随机数组成第一字符串;
对所述第一字符串进行哈希运算并得到第一哈希计算结果;
存储所述第一哈希计算结果和所述随机数。
4.如权利要求3所述的应用程序更新方法,其特征在于,在所述计算所述两个以上唤醒源对应的运行时间的平均值之前,还包括:
获取已存储的所述第一哈希计算结果和所述随机数;
将所述随机数和从所述历史数据中获取的两个以上唤醒源组成第二字符串;
对所述第二字符串进行哈希运算并获得第二哈希计算结果;
若所述第一哈希计算结果和所述第二哈希计算结果一致,再执行所述计算所述两个以上唤醒源对应的运行时间的平均值的步骤。
5.如权利要求4所述的应用程序更新方法,其特征在于,所述记录并存储电子控制单元重启时的唤醒源以及唤醒后电子控制单元的运行时间,包括:
采用预设数量个寄存器来存储唤醒源和运行时间;
若预设数量个寄存器中包含内容为空的寄存器,则在电子控制单元重启时获取唤醒源后,按排列顺序存储该唤醒源和该唤醒源对应的运行时间于内容为空的寄存器中;
若预设数量个寄存器中不包含内容为空的寄存器,则清空起始寄存器并将其它唤醒源和运行时间逐个前移一个寄存器,存储电子控制单元重启时的唤醒源和该唤醒源对应的运行时间于末位寄存器中。
6.如权利要求5所述的应用程序更新方法,其特征在于,还包括:
若所述第一哈希计算结果和所述第二哈希计算结果不一致,则清空所述预设数量个寄存器的唤醒源和运行时间。
7.如权利要求3所述的应用程序更新方法,其特征在于,在预设数量为N的情况下,所述将所述历史数据中两个以上唤醒源和所述随机数组成第一字符串包括:
将N个唤醒源按时间上由前至后的顺序排列成字符串;
在该字符串后添加随机数,组成第一字符串。
8.一种应用程序更新装置,其特征在于,应用于电子控制单元,所述装置包括:
判断单元,用于判断已有应用程序是否出现异常;
设置单元,用于在确定所述已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;
控制单元,用于控制电子控制单元进入下载模式,以从上位机下载最新应用程序;
更新单元,用于利用所述最新应用程序更新所述已有应用程序;
其中,所述判断单元判断已有应用程序是否出现异常包括:
从历史数据中获取两个以上唤醒源以及对应的运行时间;
计算所述两个以上唤醒源对应的运行时间的平均值;
若所述两个以上唤醒源均为看门狗,且,所述平均值小于预设时间阈值,则确定所述已有应用程序出现异常。
9.一种应用程序更新系统,其特征在于,包括:
上位机和与所述上位机相连的电子控制单元;
电子控制单元,用于判断已有应用程序是否出现异常;在确定所述已有应用程序出现异常的情况下,将应用程序有效标志位设置为无效状态;控制电子控制单元进入下载模式,以从上位机下载最新应用程序;利用所述最新应用程序更新所述已有应用程序;
其中,所述判断已有应用程序是否出现异常包括:
从历史数据中获取两个以上唤醒源以及对应的运行时间;
计算所述两个以上唤醒源对应的运行时间的平均值;
若所述两个以上唤醒源均为看门狗,且,所述平均值小于预设时间阈值,则确定所述已有应用程序出现异常。
CN201910631831.1A 2019-07-12 2019-07-12 应用程序更新方法、装置及系统 Active CN110362327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910631831.1A CN110362327B (zh) 2019-07-12 2019-07-12 应用程序更新方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910631831.1A CN110362327B (zh) 2019-07-12 2019-07-12 应用程序更新方法、装置及系统

Publications (2)

Publication Number Publication Date
CN110362327A CN110362327A (zh) 2019-10-22
CN110362327B true CN110362327B (zh) 2023-05-16

Family

ID=68219285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910631831.1A Active CN110362327B (zh) 2019-07-12 2019-07-12 应用程序更新方法、装置及系统

Country Status (1)

Country Link
CN (1) CN110362327B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764786A (zh) * 2021-01-04 2021-05-07 东风商用车有限公司 汽车ECU Bootloader的启动方法及装置
CN113986393A (zh) * 2021-11-01 2022-01-28 北京经纬恒润科技股份有限公司 电子控制单元启动方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122151A (ja) * 2005-10-25 2007-05-17 Nec Saitama Ltd ブート制御装置およびブート制御方法
CN102103511A (zh) * 2011-02-25 2011-06-22 北京经纬恒润科技有限公司 应用程序的刷新方法和系统
CN102567018A (zh) * 2011-12-23 2012-07-11 北京经纬恒润科技有限公司 一种车载控制器执行的应用程序下载方法及系统
CN104281071A (zh) * 2013-07-05 2015-01-14 广州汽车集团股份有限公司 一种ecu的启动方法和ecu启动系统
WO2016041468A1 (zh) * 2014-09-16 2016-03-24 努比亚技术有限公司 一种唤醒方法、装置及终端
CN106990982A (zh) * 2017-03-20 2017-07-28 北京新能源汽车股份有限公司 程序更新方法及装置
CN109062624A (zh) * 2018-08-22 2018-12-21 上海稊米汽车科技有限公司 一种用于汽车电子控制单元中断唤醒的处理方法
CN109933348A (zh) * 2019-01-21 2019-06-25 宁波普瑞均胜汽车电子有限公司 一种电子控制单元中Bootloader的更新方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122151A (ja) * 2005-10-25 2007-05-17 Nec Saitama Ltd ブート制御装置およびブート制御方法
CN102103511A (zh) * 2011-02-25 2011-06-22 北京经纬恒润科技有限公司 应用程序的刷新方法和系统
CN102567018A (zh) * 2011-12-23 2012-07-11 北京经纬恒润科技有限公司 一种车载控制器执行的应用程序下载方法及系统
CN104281071A (zh) * 2013-07-05 2015-01-14 广州汽车集团股份有限公司 一种ecu的启动方法和ecu启动系统
WO2016041468A1 (zh) * 2014-09-16 2016-03-24 努比亚技术有限公司 一种唤醒方法、装置及终端
CN106990982A (zh) * 2017-03-20 2017-07-28 北京新能源汽车股份有限公司 程序更新方法及装置
CN109062624A (zh) * 2018-08-22 2018-12-21 上海稊米汽车科技有限公司 一种用于汽车电子控制单元中断唤醒的处理方法
CN109933348A (zh) * 2019-01-21 2019-06-25 宁波普瑞均胜汽车电子有限公司 一种电子控制单元中Bootloader的更新方法和装置

Also Published As

Publication number Publication date
CN110362327A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
US6594774B1 (en) Method and apparatus for monitoring computer system objects to improve system reliability
US20110320794A1 (en) Flash System And Method For Updating The Flash System
CN103885806B (zh) 机顶盒的系统软件在线升级的实现方法和装置
KR101551611B1 (ko) 실패들 사이의 평균 시간을 증가시키기 위해 멀티서브시스템 모바일 통신 디바이스에서 소프트웨어를 선제적으로 재시작하는 방법
CN110362327B (zh) 应用程序更新方法、装置及系统
CN112817625B (zh) 系统升级方法、装置、电子设备及存储介质
WO2020010727A1 (zh) 应用更新方法和装置及计算机可读存储介质
CN113946148B (zh) 一种基于多ecu协同控制的mcu芯片唤醒系统
CN111324494A (zh) 处理器控制方法、装置和存储介质
CN111796954A (zh) 基于jvm的看门狗的控制方法、装置、设备及存储介质
CN114035831B (zh) 一种cpld升级方法、系统及计算机可读存储介质
CN113672263B (zh) 固件参数更新控制方法、装置及电子设备
CN115033261A (zh) 一种程序更新方法、装置、设备及存储介质
CN115756622A (zh) 芯片控制方法及芯片
CN114546455A (zh) 一种双分区的mcu软件升级方法及装置
CN115827069A (zh) 服务器主板的启动控制方法、系统及装置
CN111611000B (zh) 一种高可靠的固件空中升级方法及系统
JP2022154449A (ja) Otaマスタ、更新制御方法、及び更新制御プログラム
CN113031992A (zh) Annoy热更新方法、装置、设备及介质
CN114328083B (zh) 一种wdt监控方法、装置及介质
CN113626229B (zh) 一种基于sbc的电机控制芯片唤醒方法
CN115309429A (zh) 一种软件更新方法及装置
CN115878145B (zh) 电子设备及其系统升级方法、计算机可读存储介质
WO2023141832A1 (zh) 程序更新方法和程序更新装置
CN116028089A (zh) 固态硬盘固件更新方法、装置、计算机设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Applicant after: Beijing Jingwei Hengrun Technology Co.,Ltd.

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant