发明内容
本发明要解决的技术问题在于,针对现有技术的上述系统程序在升级中或升级前损坏,无法进行启动及升级的缺陷,提供一种电子设备的升级方法,即使系统程序在升级中或升级前损坏时,也能进行启动及升级。
本发明解决其技术问题所采用的技术方案是:构造一种电子设备的升级方法,包括:
A.下载升级包并将所下载的升级包存储至第一存储模块中,所述第一存储模块独立于存储系统程序的第二存储模块;
B.在引导阶段加载升级程序,并根据所下载的升级包对系统程序进行升级,所述升级程序存储在独立于第二存储模块的第三存储模块中;
C.判断升级是否成功,若是,则结束,若否,则重新执行步骤B。
在本发明所述的移动终端的升级方法中,所述第一存储模块包括非易失性存储芯片;进一步地,所述第一存储模块还包括非易失性存储卡。
在本发明所述的电子设备的升级方法中,所述步骤B包括:
B11.在引导阶段加载升级程序;
B12.判断用户是否触发控制按钮,若是,则执行步骤B13;若否,则执行步骤B14;
B13.根据非易失性存储卡中的升级包对系统程序进行升级,然后执行步骤C;
B14.根据非易失性存储芯片中的升级包对系统程序进行升级,然后执行步骤C。
在本发明所述的电子设备的升级方法中,所述步骤B包括:
B21.在引导阶段加载升级程序;
B22.判断非易失性存储卡中是否存储有所下载的升级包,若是,则执行步骤B23;若否,则执行步骤B24;
B23.根据非易失性存储卡中的升级包对系统程序进行升级,然后执行步骤C;
B24.根据非易失性存储芯片中的升级包对系统程序进行升级,然后执行步骤C。
在本发明所述的电子设备的升级方法中,所述第三存储模块为非易失性存储芯片。
在本发明所述的电子设备的升级方法中,所述步骤A包括:
A1.下载升级包;
A2.对所下载的升级包进行验证,并判断是否验证成功,若是,则执行步骤A3;若否,则结束;
A3.将验证成功的升级包存储至第一存储模块中。
在本发明所述的电子设备的升级方法中,在所述步骤A1中,从电脑或从本电子设备下载升级包。
本发明还构造一种电子设备,包括:
下载模块,用于下载升级包;
第二存储模块,用于存储系统程序;
第一存储模块,用于存储所下载的升级包,且该第一存储模块独立于第二存储模块;
第三存储模块,用于存储升级程序,且该第三存储模块独立于第二存储模块;
升级模块,用于在引导阶段加载升级程序,并根据所下载的升级包对系统程序进行升级;
判断模块,用于判断升级是否成功,且在升级不成功时,通知升级模块重新进行升级。
在本发明所述的电子设备中,所述第一存储模块包括非易失性存储芯片;
进一步地,所述第一存储模块还包括非易失性存储卡。
实施本发明的技术方案,由于存储有升级包的第一存储模块和存储有升级程序的第三存储模块分别独立于存储有系统程序的第二存储模块,所以不管是升级中还是升级前系统程序损坏,都不会影响升级程序和升级包,因此,系统依然可以进行升级,而且在升级完成后,由于系统程序得到更新使得系统可以启动。
具体实施方式
如图1所示,在本发明的电子设备升级方法实施例一的流程图中,该电子设备的升级方法包括以下步骤:
A.下载升级包并将所下载的升级包存储至第一存储模块中,所述第一存储模块独立于存储系统程序的第二存储模块,在该步骤中,所下载的升级包为镜像文件;对于上述升级包,可能是以压缩包等形式存储在第一存储模块中,但其实质为镜像文件;
B.在引导阶段加载升级程序,并根据所下载的升级包对系统程序进行升级,所述升级程序存储在独立于第二存储模块的第三存储模块中,在该步骤中,所谓的升级就是用升级包的数据替换原有的系统程序数据;
C.判断升级是否成功,若是,则结束,若否,则重新执行步骤B,应当说明的是,判断升级是否成功的实质是判断升级包的数据是否完整无误地被写入第二存储模块中。
实施该实施例的技术方案,由于存储有升级包的第一存储模块和存储有升级程序的第三存储模块分别独立于存储有系统程序的第二存储模块,所以不管是升级中还是升级前系统程序损坏,都不会影响升级程序和升级包,因此,系统依然可以进行升级,而且在升级完成后,由于系统程序得到更新使得系统可以启动。具体为:若在升级中途电子设备断电,则升级失败,且系统也无法启动,若下次电子设备重新上电后,可重新在引导阶段加载升级程序,并根据所下载的升级包进行升级,这样,便完成了升级,且升级后由于系统程序得到更新,所以系统可启动;若系统程序在升级前已损坏,则此时无法启动,但可在引导阶段加载升级程序,并根据所下载的升级包进行升级,这样,便完成了升级,且由于系统程序得到更新,所以系统可启动。
本实施例中,第一存储模块包括非易失性存储芯片;进一步地,在此基础上,第一存储模块还包括非易失性存储卡。
此处优选地以第一存储模块包括非易失性存储芯片和非易失性存储卡为例进行描述此时,步骤B可通过以下方法实现:
B11.在引导阶段加载升级程序;
B12.判断用户是否触发控制按钮,若是,则执行步骤B13;若否,则执行步骤B14;
B13.根据非易失性存储卡中的升级包对系统程序进行升级,然后执行步骤C;
B14.根据非易失性存储芯片中的升级包对系统程序进行升级,然后执行步骤C。
在以上步骤中,首先应在电子设备上设置一控制按钮,通过判断用户是否触发控制按钮来确定是使用非易失性存储卡中的升级包还是使用非易失性存储芯片中的升级包对系统程序进行升级,以实现对升级的手动控制。
若第一存储模块包括非易失性存储芯片和非易失性存储卡。步骤B还可通过以下方法实现:
B21.在引导阶段加载升级程序;
B22.判断非易失性存储卡中是否存储有所下载的升级包,若是,则执行步骤B23;若否,则执行步骤B24;
B23.根据非易失性存储卡中的升级包对系统程序进行升级,然后执行步骤C;
B24.根据非易失性存储芯片中的升级包对系统程序进行升级,然后执行步骤C。
在以上步骤中,是通过在升级时扫描非易失性存储卡是否存储有升级包来确定使用非易失性存储卡中的升级包还是使用非易失性存储芯片中的升级包对系统程序进行升级,以实现对升级的自动控制。
在上面的实施例中,第一存储模块中的非易失性存储芯片可为NAND型或NOR型,优选为NAND型,容量较大,价钱便宜;第一存储模块中的非易失性存储卡可为安全数码卡(Secure Digital Memory Card,SD卡),但不局限于此。
优选地,第二存储模块、第三存储模块也可为非易失性存储芯片,该非易失性存储芯片内置在电子设备内,第二存储模块、第三存储模块可为NAND型或NOR型,但第二存储模块和第三存储模块优选NOR型,较稳定,不容易出错和丢失数据。
在图2示出的上述实施例中步骤A实施例一的流程图中,该步骤A包括:
A1.下载升级包,在该步骤中,可从本电子设备下载升级包,也可从其他终端下载升级包,如电脑或服务商的终端等;
A2.对所下载的升级包进行验证,并判断是否验证成功,若是,则执行步骤A3;若否,则结束,在该步骤中,所下载的升级包数据中包含有升级版本信息,该升级版本信息包含以下内容:厂商编号、电子设备型号、升级版本号,因此,验证升级包也即验证厂商编号、电子设备型号、升级版本号是否正确,若不正确,则丢失所下载的升级包并结束,若正确,则进行下面的步骤;
A3.将验证成功的升级包存储至第一存储模块中,所述第一存储模块独立于存储系统程序的第二存储模块。
在图3示出的本发明的电子设备实施例一的逻辑图中,该电子设备包括:
下载模块100,用于下载升级包,所下载的升级包为镜像文件,可从本电子设备下载升级包,也可从其他终端下载升级包,如电脑或通讯服务商的终端等;
第二存储模块300,用于存储系统程序,也即被升级的数据,优选地,第二存储模块可为非易失性存储芯片,该非易失性存储芯片内置在电子设备内,第二存储模块可为NAND型或NOR型,但第二存储模块优选NOR型,较稳定,不容易出错和丢失数据;
第一存储模块200,用于存储所下载的升级包,且该第一存储模块200独立于第二存储模块300。第一存储模块200可包括第一存储模块包括非易失性存储芯片和非易失性存储卡,其中,第一存储模块中的非易失性存储芯片可为NAND型或NOR型,优选为NAND型,容量较大,价钱便宜;第一存储模块中的非易失性存储卡可为SD卡等;
第三存储模块400,用于存储升级程序,且该第三存储模块独立于第二存储模块。优选地,第三存储模块也可为非易失性存储器,该非易失性存储器内置在电子设备内,优选地,第三存储模块也可为非易失性存储芯片,该非易失性存储芯片内置在电子设备内,第三存储模块可为NAND型或NOR型,且第三存储模块优选NOR型,较稳定,不容易出错和丢失数据;
升级模块500,用于在引导阶段加载升级程序,并根据所下载的升级包对系统程序进行升级;
判断模块600,用于判断升级是否成功,且在升级不成功时,通知升级模块500重新进行升级,应当说明的是,判断模块600判断升级是否成功的实质是判断升级包的数据是否完整无误地被写入第二存储模块300中。
在一个优选实施例中,升级模块500包括:
加载单元,用于在引导阶段加载升级程序;
第一判断单元,用于判断用户是否触发控制按钮;
第一升级单元,用于在判断用户触发控制按钮时,根据非易失性存储卡中的升级包对系统程序进行升级;用于在判断用户无触发控制按钮时,根据非易失性存储芯片中的升级包对系统程序进行升级。
在另一个优选实施例中,升级模块包括:
加载单元,用于在引导阶段加载升级程序;
第二判断单元,用于判断非易失性存储卡中是否存储有所下载的升级包;
第二升级单元,用于在判断非易失性存储卡中存储有所下载的升级包时,根据非易失性存储卡中的升级包对系统程序进行升级;用于在判断非易失性存储卡中没有存储所下载的升级包时,根据非易失性存储芯片中的升级包对系统程序进行升级。
在再一个优选实施例中,还可包括连接在下载模块100和第一存储模块200之间的验证模块,该验证模块用于在下载模块100下载到升级包后,验证升级包中的升级版本信息,例如,验证厂商编号、电子设备型号、升级版本号等。这样,可以保证升级模块500升级的是正确的升级包,避免因升级错误而使系统程序损坏。
本发明中,该电子设备可以是智能手机、计算机、平板电脑等等,当然,其下载升级包可通过蓝牙、网站等等来实现,可采用无线或有线下载方式。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。