应用程序更新方法及设备的制作技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本技术提供一种应用程序更新方法及装置,在控制器上电复位后监测控制器的报文接收情况,如果监测到从控制器上电复位之后的预设时间内接收到特定类型报文,控制控制器停留在引导加载程序阶段,获取待更新的应用程序,并在引导加载程序阶段对待更新的应用程序进行更新,以从由具备UDS功能的应用程序控制进入引导加载程序阶段更改为由特定类型报文控制进入引导加载程序阶段,这样即使具备UDS功能的应用程序运行异常,在接收到特定类型报文后仍能够对待更新的应用程序进行更新,从而实现在不依赖具备UDS功能的应用程序的情况下完成应用程序更新。
权利要求书
1.一种应用程序更新方法,其特征在于,所述方法包括:
监测控制器在上电复位后的报文接收情况;
如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器停留在引导加载程序阶段;
获取待更新的应用程序;
在所述引导加载程序阶段对所述待更新的应用程序进行更新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果监测到从所述控制器上电复位之后的预设时间没有接收到特定类型报文,控制所述控制器运行应用程序。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述控制器上电复位后,控制所述控制器执行初始化阶段的第一子阶段,所述第一子阶段用于对所述控制器进行第一部分初始化;
如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器执行所述初始化阶段的第二子阶段,所述第二子阶段用于对所述控制器进行第二部分初始化,以通过所述第一子阶段和所述第二子阶段在所述引导加载程序阶段前完成对所述控制器的初始化。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:如果监测到从所述控制器上电复位之后的预设时间内没有接收到特定类型报文,禁止所述控制器执行所述第二子阶段,并控制所述控制器运行应用程序。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述控制器上电复位之后,判断是否接收到重编程请求标志信息;
如果接收到重编程请求标志信息,控制所述控制器停留在引导加载程序阶段;
如果没有接收到重编程请求标志信息,执行所述监测控制器在上电复位后的报文接收情况的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:如果没有接收到重编程请求标志信息且监测到从所述控制器上电复位之后的预设时间内没有接收到特定类型报文,控制
所述控制器运行应用程序。
7.一种应用程序更新装置,其特征在于,所述装置包括:
监测单元,用于监测控制器在上电复位后的报文接收情况;
控制单元,用于如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器停留在引导加载程序阶段;
获取单元,用于获取待更新的应用程序;
更新单元,用于在所述引导加载程序阶段对所述待更新的应用程序进行更新。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第一初始化单元,用于在所述控制器上电复位后,控制所述控制器执行初始化阶段的第一子阶段,所述第一子阶段用于对所述控制器进行第一部分初始化;
第二初始化单元,用于如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器执行所述初始化阶段的第二子阶段,所述第二子阶段用于对所述控制器进行第二部分初始化,以通过所述第一子阶段和所述第二子阶段在所述引导加载程序阶段前完成对所述控制器的初始化。
9.一种终端,其特征在于,所述终端包括:存储器和处理器;
所述存储器中存储有程序代码;所述处理器运行所述程序代码,实现以下功能:
监测控制器在上电复位后的报文接收情况;
如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器停留在引导加载程序阶段;
获取待更新的应用程序;
在所述引导加载程序阶段对所述待更新的应用程序进行更新。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序代码,所述计算机程序代码执行时实现如权利要求1至6任意一项所述的应用程序更新方法。
技术说明书
一种应用程序更新方法及装置
技术领域
本技术属于代码处理技术领域,尤其涉及一种应用程序更新方法及装置。
背景技术
目前ECU(Electronic Control Unit,电子控制单元)在研发结束之后ECU上不具备调试端口,若ECU内的代码(如ECU的控制代码或ECU中任一应用程序的代码)需要更新时则需要特定操作辅助完成,其中ECU内的应用程序更新的一种方式如下:
APP(Application,应用程序)中嵌入UDS(Unified Diagnostic Services,统一诊断服务)功能,在ECU上电复位之后,如果具备UDS功能的APP接收到重编程请求标志信息,从APP运行状态跳转至Bootloader阶段(引导加载程序),并在Bootloader阶段对应用程序进行更新,但是这种方式需要具备UDS功能的APP处于正常运行中,如果具备UDS功能的APP运行异常会导致无法从APP运行状态跳转至Bootloader阶段,进而无法进行应用程序更新。
技术内容
有鉴于此,本技术的目的在于提供一种应用程序更新方法及装置,在不依赖具备UDS功能的应用程序的情况下完成应用程序更新。技术方案如下:
本技术提供一种应用程序更新方法,所述方法包括:
监测控制器在上电复位后的报文接收情况;
如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器停留在引导加载程序阶段;
获取待更新的应用程序;
在所述引导加载程序阶段对所述待更新的应用程序进行更新。
优选的,所述方法还包括:如果监测到从所述控制器上电复位之后的预设时间没有接收到特定类型报文,控制所述控制器运行应用程序。
优选的,所述方法还包括:在所述控制器上电复位后,控制所述控制器执行初始化阶段的第一子阶段,所述第一子阶段用于对所述控制器进行第一部分初始化;
如果监测到从所述控制器上电复位之后的预设时间内接收到特定类型报文,控制所述控制器执行所述初始化阶段的第二子阶段,所述第二子阶段用于对所述控制器进行第二部分初始化,以通过所述第一子阶段和所述第二子阶段在所述引导加载程序阶段前完成对所述控制器的初始化。
优选的,所述方法还包括:如果监测到从所述控制器上电复位之后的预设时间内没有接收到特定类型报文,禁止所述控制器执行所述第二子阶段,并控制所述控制器运行应用程序。
优选的,所述方法还包括:在所述控制器上电复位之后,判断是否接收到重编程请求标志信