一种系统升级的方法及装置与流程

文档序号:12363038阅读:244来源:国知局
一种系统升级的方法及装置与流程

技术领域

本发明涉及移动终端技术,特别涉及一种系统升级的方法及装置。



背景技术:

随着通信技术的不断发展,移动终端已经越来越普及。

实际应用中,由于使用需求的不断改变,同一款移动终端的内置软件往往需要不断升级,相应的,移动终端的分区规划也需要经常随之变化,这样,在进行软件升级时很容易发生无法兼容发生变化的分区表的情况,从而造成原来系统的用户数据丢失,带来不可恢复的损失。



技术实现要素:

本发明实施例提供一种系统升级的方法及装置,用以实现移动终端分区表的动态升级,以及保障移动终端的系统能够正确升级。

本发明实施例提供的具体技术方案如下:

一种系统升级的方法,包括:

获取本地保存的当前使用的原分区表,以及获取用于升级的目标分区表;

判断所述原分区表和所述目标分区表是否相同?

若是,则基于所述原分区表对各分区中的系统文件进行升级;否则,基于所述目标分区表重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级;其中,移动终端在基于所述目标分区表重新进行系统分区之前,对本地备份分区中的数据进行备份。

一种系统升级的装置,包括:

获取单元,用于获取本地保存的当前使用的原分区表,以及获取用于升级的目标分区表;

处理单元,用于判断所述原分区表和所述目标分区表是否相同?若是,则基于所述原分区表对各分区中的系统文件进行升级;否则,基于所述目标分区表重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级;其中,所述处理单元在基于所述目标分区表重新进行系统分区之前,对本地备份分区中的数据进行备份。

本发明实施例中,采用Tegra平台的移动终端在进行系统升级时,获取本地保存的当前使用的原分区表,以及获取用于升级的目标分区表;并判断上述原分区表和上述目标分区表是否相同?若是,则基于原分区表对各分区中的系统文件进行升级;否则,基于目标分区表重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级;其中,移动终端在基于所述目标分区表重新进行系统分区之前,对本地备份分区中的数据进行备份。这样,可以根据不断变化的使用需求随时修改分区表,而在需要进行系统升级以及安装更多的第三方应用软件时,可以对原有的分区表进行动态升级,从而既保证了新老分区表的合理兼容,又保证了移动终端可以基于新的分区表顺利完成系统升级及第三方应用软件的安装,有效避免了用户数据的丢失,保障了移动终端的使用性能。

附图说明

图1为本发明实施例中移动终端动态生成分区表流程图;

图2为本发明实施例中移动终端动态进行系统升级示意流程图;

图3为本发明实施例中移动终端动态进行系统升级详细流程图;

图4为本发明实施例中移动终端功能结构示意图。

具体实施方式

为了在移动终端的分区表发生变化的情况下,保证移动终端的系统能够正确升级,避免因分区错误出现数据丢失,本发明实施例中,采用Tegra(图睿)平台的移动终端在进行系统升级时,获取本地保存的当前使用的原分区表,以及获取用于升级的目标分区表;并判断上述原分区表和上述目标分区表是否相同;若是,则基于原分区表对各分区中的系统文件进行升级;否则,基于目标分区表重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级。

下面结合附图对本发明优选的实施方式进行详细说明。

本发明实施例中,以基于Tegra平台的移动终端为例进行相关介绍。Tegra是NVIDIA(英伟达)公司生产的一种基于ARM(Advanced RISC Machines,高级精简指令处理器)构架的CPU,能够为便携的移动终端提供高性能、低功耗体验。

在Tegra平台下,当移动终端(如,手机,平板电脑等等)的空白芯片首次上电时,移动终端的CPU会直接进入下载模式,在该下载模式下,移动终端可以根据PC的指令通过USB接口下载相应的镜像文件到本地。例如:PC端首先得到分区表的配置文件,然后通过USB接口给移动终端的bootloader(启动加载)模块发送指令,由bootloader模块将各个分区的大小及位置记录到存储器的一个固定区域,其中,分区表只是由bootloader模块隐形产生的文件,对外界而言,除去USB接口,再没有任何其他接口可以用于更新分区表。

而当移动终端出厂后,通过USB更新系统的接口已经封死,移动终端的系统版本的更新只能通过SD卡或者OTA(Over-the-Air,空中下载)。

本发明实施例中,基于Tegra平台的移动终端,可以通过硬件配置的方式进入Recovery(恢复)模式,在该Recovery模式下,移动终端的USB协议栈被打开,可以通过PC,采用USB接口和移动终端中的bootloader模块进入通信,从而可以通过USB指令将移动终端在生产过程中动态生成的分区表导出,生成一个二进制的文件,命名为 pt.img ,并保存在存储器的指定区域中。

参阅图1所示,本发明实施例中,移动终端动态生成分区表的详细流程如下:

步骤100:移动终端通过USB接口与PC相连接。

步骤110:移动终端接收PC发送的USB指令,进入Recovery模式。

步骤120:移动终端将生产过程中(即出厂阶段)形成的二进制的分区表导出。

步骤130:移动终端将导出的分区表生成pt.img文件,并保存至存储器的指定区域。

基于上述实施例,本发明实施例中,当移动终端的操作系统需要升级时,通过官方提供的方法进入SD卡升级的状态(如,将升级文件保存在SD卡中,并同时按电源键+Home键进入升级状态),并在该状态下进行系统升级以及分区表的更新,具体过程参阅图2所示:

步骤200:移动终端上的bootloader模块将存储器中指定位置保存的基于原分区表生成的pt.ing文件(以下称为pt.ing 1)读到内存中。

步骤210:移动终端从SD卡中获取用于升级的基于目标分区表生成的pt.ing 文件(以下称为pt.ing 2)。

步骤220:移动终端判断pt.ing 1和pt.ing 2是否相同,若是,则进行步骤230;否则,进行步骤240。

本发明实施例中,在判断pt.ing 1和pt.ing 2是否相同时,可以分别计算其CRC(Cyclic Redundancy Check,循环冗余校验)值,如果两者相等,则说明pt.ing 1和pt.ing 2两个版本的分区表没有变化,如果两者不相等,则说明分区已经发生了变化。

步骤230:移动终端基于pt.ing 1对各分区中的系统文件进行升级。

具体的:移动终端直接进入存储器,根据pt.ing 1指示的各个分区的地址和大小,下载并加载各个分区中系统文件的升级镜像文件。

步骤240:移动终端基于pt.ing 2重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级。

具体的:此时最新系统的分区表已经发生了变化,因此,在进行系统文件升级之前,较佳的,移动终端会对本地备份分区中的数据进行备份,备份分区中保存的数据主要是工厂生产信息及一些具有唯一标识性的地址数据,如,生产日期,软硬件版本号,wifi地址,蓝牙地址等等;如果原分区表发生了变化,该备份分区有可能会被破坏掉(备份分区中的数据为烧录数据的情况除外),因而,为了保障数据的安全性,在升级系统前,移动终端需要先要将该备份分区中的数据备份到SD卡中。

接着,移动终端中的bootloader模块将pm.img 2下载到存储器中pm.img 1的地址,替换pm.img 1。接着,移动终端在CPU的SCRATCH(自由使用)寄存器中设置一个特定的标志位为1,表示系统的分区表进行了变更,SCRATCH寄存器的特点是在系统warmreboot(热启动)后,仍然能够保持其状态。设置该标志位的是因为:当分区表发生变化时,各分区中的系统文件需要按照新的分区表(即pt.img 2)中的地址来更新,但此时整个系统运行的基础还是老的分区表,所以需要在更新完分区表后,将系统重新启动,重新启动后,移动终端中的bootloader模块会检测到SCRATCH寄存器中设置有表示分区表发生变化的标志位,此时,移动终端自动读取到的分区表将是更新过的pt.img 2,读取到pt.img 2后,系统自动进入更新各分区的系统文件的步骤,而不会直接启动系统。

具体的:在重新启动后,bootloader模块会清除设置的标志位,移动终端会在重启后根据pt.img 2重新进行系统分区;在分区结束后,再根据pt.img 2指示的各个分区的地址和大小,下载并加载各个分区中系统文件的升级镜像文件,待全部系统文件升级完毕,则可以启动系统。

下面采用一个具体的应用场景对上述实施例作出进一步详细介绍,具体参阅图3所示:

步骤300:移动终端启动基于SD卡的系统升级流程。

步骤301:移动终端内的bootloader模块读取pt.img 1至内存。

步骤302:bootloader模块分别计算pt.img 1和pt. img 2的CRC值。

步骤303:bootloader模块判断pt.img 1和pt.img 2的CRC值是否相等?若是,则进行步骤304;否则,进行步骤305;

步骤304:bootloader模块更新除pt.img 1之外的其他系统文件,然后转至步骤312。

具体的,bootloader模块根据pt.img 1指示的分区地址,将各分区中的系统文件的升级镜像文件下载到相应位置并进行加载。

步骤305:bootloader模块读取备份分区中的数据至SD卡,即对备份分区中的数据进行备份。

步骤306:bootloader模块将pt.img 2下载至存储器中的分区表地址,对pt.img 1进行替换。

步骤307:bootloader模块将在CPU的SCRATCH 寄存器(如,SCRATCH 0)中设置表示更新分区表的标志位.

步骤308:bootloader模块进行系统热启动。

步骤309:bootloader模块读取表示更新分区表的标志位并清除。

步骤310:bootloader模块对pt.img 2进行解析。

步骤311:bootloader模块根据pt.img 2指示的分区地址及大小,更新所有其他系统文件。

具体的:bootloader模块根据pt.img 2指示的分区地址,将各分区中的系统文件的升级镜像文件下载到相应位置并进行加载。

步骤312:移动终端完成系统升级。

基于上述实施例,参阅图4所示,本发明实施例中,采用Tegra平台的移动终端包括获取单元40和处理单元41,其中:

获取单元40,用于获取本地保存的当前使用的原分区表,以及获取用于升级的目标分区表;

处理单元40,用于判断上述原分区表和上述目标分区表是否相同?若是,则基于该原分区表对各分区中的系统文件进行升级;否则,基于该目标分区表重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级;其中,上述处理单元在基于上述目标分区表重新进行系统分区之前,对本地备份分区中的数据进行备份。

上述获取单元40和处理单元41在实际应用中可以通过移动终端中的bootloader模块实现,相应的,获取单元40和处理单元41所执行的其他操作已在上述实施例中进行了介绍,在此不再赘述。

如图4所示,本发明实施例中,移动终端中进一步包括:预配置单元42,用于在获取单元40获取本地保存的当前使用的原分区表之前,接收PC发送的USB指令,进入恢复Recovery模式,在Recovery模式下,读取出厂阶段配置的二进制的分区表,将所述二进制的分区表转化为pt.img文件,并保存至存储器的指定区域。当然,若未设置预配置单元42,则也可以通过USB指令完成上述操作,在此不再赘述。

综上所述,对于采用Tegra平台的移动终端而言,现有的升级方案并不支持动态升级分区表,这就限制了系统的升级以及第三方应用软件的安装,从而难以满足使用需求。而本发明实施例中,采用Tegra平台的移动终端在进行系统升级时,获取本地保存的当前使用的原分区表,以及获取用于升级的目标分区表;并判断上述原分区表和上述目标分区表是否相同?若是,则基于原分区表对各分区中的系统文件进行升级;否则,基于目标分区表重新进行系统分区,并在分区结束后对各分区中的系统文件进行升级;其中,移动终端在基于所述目标分区表重新进行系统分区之前,对本地备份分区中的数据进行备份。这样,可以根据不断变化的使用需求随时修改分区表,而在需要进行系统升级以及安装更多的第三方应用软件时,可以对原有的分区表进行动态升级,从而既保证了新老分区表的合理兼容,又保证了移动终端可以基于新的分区表顺利完成系统升级及第三方应用软件的安装,有效避免了用户数据的丢失,保障了移动终端的使用性能。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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