终端版本升级方法、系统、存储介质及终端与流程

文档序号:26003507发布日期:2021-07-23 21:21阅读:49来源:国知局
终端版本升级方法、系统、存储介质及终端与流程

本发明涉及通信技术领域,尤其涉及一种终端版本升级方法、系统、存储介质及终端。



背景技术:

目前的手机产品通常在出厂后,由于产品形态上没有接口按键,后续进行版本升级通常采用空中下载技术(over-the-airtechnology,ota)的方式,其中空中下载技术具体是通过移动通信的空中接口实现对移动终端设备及sim卡数据进行远程管理,但当无法使用空中下载技术ota但又需要对手机产品的升级版本进行下载时,需要硬件上连线连接接口按键,导致操作复杂。

现有技术中对手机产品进行版本升级下载时,一般采用两种方式。第一种是由系统引导程序模拟芯片内部启动代码进入下载,即引导产品系统由第二阶段应用加载程序(secondaryprogramloader,spl)进入系统引导程序uboot,然后通过系统引导程序uboot实现芯片内部启动存储器bootrom的下载协议,并模拟芯片内部启动存储器与下载工具交互,完成升级版本的下载;第二种方式是通过系统引导程序将第二阶段加载程序spl擦除并重启终端的cpu,在芯片内部存储器判断所述第二阶段加载程序spl不存在之后,所述终端启动升级下载过程。

但是第一种方式在升级下载时,一旦安全方案发生变化就只能之前的安全方案对新的镜像文件进行校验会导致校验失败;而第二种方式由于将第二阶段加载程序spl擦除,导致后续必须进行重新下载,否则无法开机,存在误触风险,因此现有的升级下载方式在使用时存在安全问题,无法满足实际需求。

因此,有必要提供一种新型的终端版本升级方法、系统、存储介质及终端以解决现有技术中存在的上述问题。



技术实现要素:

本发明的目的在于提供一种终端版本升级方法、系统、存储介质及终端,不仅能够快速安全的实现终端版本升级,而且能够有效防止误触。

第一方面,为实现上述目的,本发明的所述一种终端版本升级方法,所述方法包括:

在系统启动的过程中,运行uboot,检测终端的组合键状态,所述uboot用于引导启动系统内核;

当所述终端的组合键状态满足预设状态,向所述终端的存储器中的主spl写入升级指令,所述主spl为第二阶段应用主加载程序;

重启所述终端,运行芯片内部启动代码bootrom,所述bootrom用于引导进入版本下载模式;

当确定所述主spl存在所述升级指令,所述bootrom与下载工具交互,完成引导,以加载程序将所述下载工具下载的版本数据烧写至所述终端的存储器中。

本发明所述的终端版本升级方法的有益效果在于:在检测终端的组合键满足预设状态之后,将升级指令写入到终端存储器的主spl,后续重启所述终端,运行芯片内部启动代码bootrom,所述bootrom用于引导进入版本下载模式,当确定所述主spl存在所述升级指令,将下载工具获取的版本数据烧写至所述终端的存储器中,在实现对终端的版本升级过程中,不仅不需要使用中间版本的安全方案对升级的镜像文件进行校验,使用更加方便,而且由于存在辅spl,且不需要将主spl和辅spl擦除,当主spl被写入升级指令后,bootrom还可以通过加载备spl来引导系统,使得用户在使用时不会存在因为误触操作而导致终端无法引导启动的问题,提高了终端使用的安全性。

在一些可能的实施方式中,所述方法还包括:

当确定所述主spl不存在所述升级指令时,从所述终端的存储器读取辅spl;

依次运行辅spl、uboot和kernel,所述辅spl用于加载uboot镜像到外部ram运行,所述kernel为系统内核。其有益效果在于:在确定主spl不存在升级指令时,即可判断终端不需要升级,在依次运行辅spl、uboot和kernel之后,终端就可以进行重启或者关机处理,保证在升级指令写入失败的情况下,终端可以正常启动。

在一些可能的实施方式中,当确定所述主spl存在所述升级指令,所述bootrom与下载工具交互,完成引导,以加载程序将所述下载工具下载的版本数据烧写至所述终端的存储器中,包括:

当确定所述主spl存在所述升级指令后,启动定时器;

若在定时器到达之前接收来自所述下载工具的版本数据,bootrom与所述下载工具交互,完成引导,加载所述程序将所述版本数据烧写至所述终端的存储器中。

在一些可能的实施方式中,还包括:

若在所述定时器到达时,确定未接收到来自所述下载工具的版本数据,则从所述终端的存储器读取辅spl;

运行所述辅spl,依次启动辅spl、uboot和kernel,所述辅spl用于加载uboot镜像到外部ram运行,所述uboot用于引导启动系统内核,所述kernel为系统内核。

在一些可能的实施方式中,当所述终端的组合键状态不满足预设状态时,所述终端运行kernel,所述kernel为系统内核。

在一些可能的实施方式中,所述升级指令还包括功能指令。

在一些可能的实施方式中,所述终端通过数据线与所述下载工具连接。

第二方面,本发明公开了一种终端升级装置,包括:

检测模块,用于在系统启动的过程中,运行uboot,检测终端的组合键状态,所述uboot用于引导启动系统内核;

写入模块,用于当所述终端的组合键状态满足预设状态时,向所述终端的存储器中的主spl写入升级指令,所述主spl为第二阶段应用主加载程序;

运行模块,用于重启所述终端,运行芯片内部启动代码bootrom,所述bootrom用于引导进入版本下载模式;

升级下载模块,用于当确定所述主spl存在所述升级指令,所述bootrom与下载工具交互,完成引导,以加载程序将所述下载工具下载的版本数据烧写至所述终端的存储器中。

第三方面,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。

第四方面,本发明还提供了一种终端,包括:处理器及存储器;

所述存储器用于存储计算机程序;

所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上所述的方法。

附图说明

图1为本发明实施例的所述终端升级方法的整体流程示意图;

图2为本发明实施例的所述终端升级方法的步骤s101和步骤s102的流程示意图;

图3为本发明实施例的所述终端升级方法的步骤s103和步骤s104的流程示意图;

图4为本发明实施例的所述终端升级装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。

针对现有技术存在的问题,本发明的实施例提供了一种终端版本升级方法,所述方法包括:

s101、在系统启动的过程中,运行uboot,检测终端的组合键状态,所述uboot用于引导启动系统内核。

s102、当所述终端的组合键状态满足预设状态,向所述终端的存储器中的主spl写入升级指令,所述主spl为第二阶段应用主加载程序。

在一些实施例中,当所述终端的组合键状态不满足预设状态时,则确定所述终端不需要执行版本升级,之后所述终端运行系统内核kernel,从而完成终端系统的引导过程。

在进一步的实施例中,所述升级指令写入所述主spl的主分区头部。

s103、重启所述终端,运行芯片内部启动代码bootrom,所述bootrom用于引导进入版本下载模式。

s104、当确定所述主spl存在所述升级指令,所述bootrom与下载工具交互,完成引导,以加载程序将所述下载工具下载的版本数据烧写至所述终端的存储器中。

在一些实施例中,在确定主spl中存在升级指令之后,所述bootrom与下载工具交互,完成引导,以加载一个可执行程序,通过所述可执行程序将所述下载工具下载的版本数据烧写至所述终端的存储器中,从而完成终端的版本升级,其中所述可执行程序为终端内的程序,用于将版本数据烧写至所述终端的存储器中。

本申请方案中的终端设备可以是手机(mobilephone)、平板电脑(pad)、智能打印机、火车探测器、加油站探测器、带无线收发功能的电脑、虚拟现实(virtualreality,vr)终端设备、增强现实(augmentedreality,ar)终端设备、工业控制(industrialcontrol)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remotemedical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportationsafety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smarthome)中的无线终端等等,本申请方案以手机作为终端对本申请方案的终端版本升级方法进行说明。

在一些实施例中,由于手机在出厂之后,一般其外部不存在接口按键(strappin),因此通常采用组合键的方式触发终端系统的版本升级过程。

比如触发手机系统的版本升级的组合键为电源键和音量+键,正常状态下两者的状态均为0,而当用户需要对终端系统进行版本升级的时候,需要通过按组合键的方式触发版本升级,此时用户同时按住电源键和音量+键,使得电源键和音量+键的状态同时变为1,从而手机内部芯片检测到手机的组合键状态满足预设状态,需要对手机系统进行版本升级。

进一步,所述组合键还可以为手机按键的其它组合形式,此处不再赘述。

在上述方法中,图2为本发明实施例的所述终端升级方法的步骤s101和步骤s102的流程示意图,如图2所示,在系统启动的过程中,运行uboot,检测终端的组合键状态,所述uboot为系统引导程序,用于引导启动系统内核,当手机芯片检测到组合键状态满足预设状态,则向所述终端的存储器中的主spl(secondaryprogramloader)写入升级指令,所述spl(secondaryprogramloader)是一个非常小的启动装载程序bootloader,可以运行于soc的内部sram中,它的主要功能就是加载uboot镜像到外部ram运行。

所述主spl为第二阶段应用主加载程序,在将升级指令写入到主spl之后,重启所述终端,运行芯片内部启动代码bootrom,所述芯片内部启动代码用于引导进入版本下载模式,其中,所述芯片内部启动代码bootrom存储在芯片内部存储器内部。

图3为本发明实施例的所述终端升级方法的步骤s103和步骤s104的流程示意图,如图3所示,在终端进入到版本下载模式之后,判断主spl内部是否存在所述升级指令,根据升级指令是否存在判断当前终端是否需要进行升级,在确定所述主spl存在所述升级指令,则判断终端系统需要升级,终端系统进入下载流程,将下载工具获取的版本数据烧写至所述终端的存储器中,以使得所述终端完成版本升级的过程。

在一些实施例中,所述方法还包括:

当确定所述主spl不存在所述升级指令时,从所述终端的存储器读取辅spl;

依次运行辅spl、uboot和kernel,所述辅spl用于加载uboot镜像到外部ram运行,所述kernel为操作系统内核,是指操作系统的核心部分,它由操作系统中用于管理存储器、文件、外设和系统资源的部分组成。

当所述终端的组合键状态满足预设状态,向所述终端的存储器中的主spl写入升级指令之后,考虑到其它情况,比如升级指令写入失败,需要进一步判断主spl之中是否存在升级指令,而在判断升级指令不存在于所述主spl之后,则从所述终端的存储器中读取辅spl,之后依次运行辅spl、uboot和kernel,从而完成系统引导过程,后续可对终端进行重启或者关机处理。

而在确定主spl中存在升级指令,需要对终端进行版本升级之后,系统进入到等待交互流程,通过判断系统在等待过程中是否超时,决定是否继续执行对系统的升级过程,在判断系统在等待交互流程中等待超时之后,则表示当前系统无法执行版本升级,从而不对系统进行版本升级,在完成系统引导过程之后结束流程;而在判断系统在等待交互流程中没有超时之后,则表示当前系统需要执行版本升级,从而接收下载工具更新的版本数据,并将更新的版本数据烧写到终端的存储器之中,从而完成对终端的版本升级过程。

在一些实施例中,当确定所述主spl存在所述升级指令,所述bootrom与下载工具交互,完成引导,以加载程序将所述下载工具下载的版本数据烧写至所述终端的存储器中,包括:

当确定所述主spl存在所述升级指令后,启动定时器;

若在定时器到达之前接收来自所述下载工具的版本数据,bootrom与所述下载工具交互,完成引导,加载所述程序将所述版本数据烧写至所述终端的存储器中。

通过启动定时器在等待交互流程中进行超时判断,当定时器到达之前就接收到来自工具的版本数据,则说明终端需要执行版本升级,在bootrom与下载工具交互,完成引导之后,加载一个可执行程序,将版本数据烧写至终端的存储器中,完成版本升级过程。

在一些实施例中,还包括:若在所述定时器到达时,确定未接收到来自所述下载工具的版本数据,则从所述终端的存储器读取辅spl;

运行所述辅spl,依次启动辅spl、uboot和kernel,所述辅spl用于加载uboot镜像到外部ram运行,所述uboot用于引导启动系统内核,所述kernel为系统内核。

具体的,当定时器到达之后仍然为收到来自下载工具的版本数据,则表示此次升级过程的等待超时,则无法进行后续的升级下载过程,后续读取于加载uboot镜像到外部ram运行的辅spl,并依次启动运行辅spl、uboot和kernel,直至最后结束系统引导过程。

在一些实施例中,所述终端通过数据线与所述下载工具连接。

现有技术中对手机产品进行版本升级下载时,一般采用两种方式。第一种是由系统引导程序模拟芯片内部启动代码进入下载,即引导产品系统由第二阶段应用加载程序(secondaryprogramloader,spl)进入系统引导程序uboot,然后通过系统引导程序uboot实现芯片内部启动存储器bootrom的下载协议,并模拟芯片内部启动存储器与下载工具交互,完成升级版本的下载;第二种方式是通过系统引导程序将第二阶段加载程序spl擦除并重启终端的cpu,在芯片内部存储器判断所述第二阶段加载程序spl不存在之后,所述终端启动升级下载过程。

但是第一种方式在升级下载时,一旦终端版本更新后的安全方案发生变化,就只能采用之前的安全方案对新的镜像文件进行校验,从而可能会导致校验失败,从而导致不能不使用中间安全版本的安全方案进行校验,导致终端的版本升级过程很麻烦;而第二种方式由于将第二阶段加载程序spl擦除,导致后续必须进行重新下载,否则无法开机,而当用户在操作终端的时候不小心无出道组合键触发版本升级,而在spl被擦除之后如果用户不想进行版本升级,则会导致终端在使用过程中存在误触风险,从而存在安全问题,无法满足实际需求。

而采用本申请方案的终端版本升级方法进行升级,不仅可以避免现有技术中第一种升级方式的问题,不需要使用中间版本的安全方案对新的镜像文件进行校验,避免了使用中间版本的安全方案进行镜像文件校验的问题,使用起来更加方便;而且本方案的版本升级方法是将升级指令写入到主spl中,并且不需要擦除主spl和辅spl,在用户进行版本升级的过程中,不仅操作方便,而且即使用户对终端进行误触操作而导致终端开始了版本升级过程,用户也可以自由进行中断处理,不用担心会出现用户误触操作,有效提高了终端使用过程的安全性。

进一步的,所述升级指令还包括功能指令,本申请方案将升级指令写入到终端的存储器的主spl内部进行存储,终端内部芯片通过识别升级指令完成对终端的版本升级过程,但是本申请方案不仅可以应用于终端的版本升级,还可以将所述升级指令替换为功能指令,以使得所述终端根据功能指令下载对应的功能版本数据,方便对终端进行功能嵌入,有效提高了所述终端的可拓展性。

本发明提供了一种终端版本升级装置,如图4所示,包括:

检测模块,用于在系统启动的过程中,运行uboot,检测终端的组合键状态,所述uboot用于引导启动系统内核;

写入模块,用于当所述终端的组合键状态满足预设状态时,向所述终端的存储器中的主spl写入升级指令,所述主spl为第二阶段应用主加载程序;

运行模块,用于重启所述终端,运行芯片内部启动代码bootrom,所述bootrom用于引导进入版本下载模式;

升级下载模块,用于当确定所述主spl存在所述升级指令,所述bootrom与下载工具交互,完成引导,以加载程序将所述下载工具下载的版本数据烧写至所述终端的存储器中。

在实现对终端的版本升级过程中,不仅不需要使用中间版本的安全方案对升级的镜像文件进行校验,而且由于不需要将主spl擦除,用户在使用时不会存在误触操作的问题,提高了终端使用的安全性。

需要说明的是,上述亮度噪声的处理装置的结构及原理与上述亮度噪声的处理方法中的步骤一一对应,故在此不再赘述。

需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,选择模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个数字信号处理器(digitalsignalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

在本申请的另一些实施例中,本申请实施例公开了一种设备,如图5所示,该设备500可以包括:一个或多个处理器501;存储器502;显示器503;一个或多个应用程序(未示出);以及一个或多个计算机程序504,上述各器件可以通过一个或多个通信总线505连接。其中该一个或多个计算机程序504被存储在上述存储器502中并被配置为被该一个或多个处理器501执行,该一个或多个计算机程序504包括指令。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法。

本发明的存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。所述存储介质包括:只读存储器(read-onlymemory,rom)、随机访问存储器(randomaccessmemory,ram)、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。

在本发明公开的另一个实施例中,本发明还提供一种芯片系统,芯片系统与存储器耦合,用于读取并执行所述存储器中存储的程序指令,以执行上述方法的步骤。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。

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