软件更新方法技术

技术编号:8215500 阅读:159 留言:0更新日期:2013-01-17 12:52
本发明专利技术提供一种软件更新方法。该软件更新方法适用于具有闪存的电子设备,该方法包括:在该闪存的一目前开机分区之外,切割出一预备更新分区,该目前开机分区为该电子设备目前开机时所挂载的分区;下载一软件更新文件;更新该软件更新文件至该预备更新分区;验证该软件更新文件是否能正常运作;以及若正常运作则将该预备更新分区设置为该电子设备往后开机时所挂载的分区,否则仍维持以该目前开机分区为该电子设备往后开机时所挂载的分区。本发明专利技术的软件更新方法可以确保电子设备不会因软件升级失败而有影响,且不管经过几次软件更新,本发明专利技术的软件更新方法仍然有效。

【技术实现步骤摘要】

本专利技术涉及电子设备的。
技术介绍
电子设备(例如个人计算机、智能型手机、平板计算机等)中的操作系统或应用程序等软件的功能越来越多元化,而为了维护电子设备中的软件或是增进功能,供货商及开发团队常会提供软件的更新版本或升级版本,让使用者能将电子设备的软件更新到最新或最稳定的版本。·一般而言,软件更新分为两个阶段。第一个阶段是通过某些公定协议或私定协议将存放在远端的软件文件下载到电子设备的储存装置上,例如闪存(Flash)或SD存储卡(Secure Digital Memory Card)。第二个阶段为通过各电子设备自定的更新机制,藉由相关的Flash读写工具将下载的软件文件更新至Flash上,因此,当使用者下次重新启动电子设备时,就能从Flash载入更新过的软件文件以使用更新或更稳定的软件版本。但是,当软件更新失败时,电子设备很有可能会因此无法启动,甚至无法回复而必须送修。而更新失败最常发生在上述第二阶段,也就是各电子设备自定义的更新机制,因此,需要一种安全的更新机制以确保不论使用者如何更新软件,都不会因为更新失败的影响而使得电子设备无法继续使用。
技术实现思路
有鉴于此,本专利技术提供一种安全且可回复的,以使电子设备不会被更新失败影响后续使用。本专利技术的一实施例提供一种,适用于具有闪存的电子设备,该方法包括在该闪存的一目前开机分区之外,切割出一预备更新分区,该目前开机分区为该电子设备目前开机时所挂载的分区;下载一软件更新文件;更新该软件更新文件至该预备更新分区;验证该软件更新文件是否能正常运作;以及若正常运作则将该预备更新分区设置为该电子设备往后开机时所挂载的分区,否则仍维持以该目前开机分区为该电子设备往后开机时所挂载的分区。其中该预备更新分区与该开机分区大小相同。本专利技术的另一实施例提供一种计算机可读取介质,储存一程序,一电子设备载入该程序以执行一,该方法包括下列步骤在该闪存的一目前开机分区之外,切割出一预备更新分区,该目前开机分区为该电子设备目前开机时所挂载的分区;下载一软件更新文件;更新该软件更新文件至该预备更新分区;验证该软件更新文件是否能正常运作;以及若正常运作则将该预备更新分区设置为该电子设备往后开机时所挂载的分区,否则仍维持以该目前开机分区为该电子设备往后开机时所挂载的分区。其中该预备更新分区与该开机分区大小相同。其中,该方法还包括使该电子设备执行重新开机;以及挂载该预备更新分区并进行开机程序,以验证该预备更新分区中的该软件更新文件。其中,该方法还包括若该软件更新文件不能正常运作,则使该电子设备执行重新开机,并将该目前开机分区作为重新开机时所挂载的分区。其中,该方法还包括分割出一参数分区于该闪存;以及记录一第一参数、一第二参数、一第三参数与一第四参数于该参数分区;其中该第一参数、该第二参数、该第三参数以及该第四参数的大小为一位;其中该第一参数记录该目前开机分区,初始值为一第一值;其中该第二参数记录该预备更新分区,初始值为该第一值;其中该第三参数记录开机时要挂载哪个分区的依据,初始值为该第一值;其中该第四参数记录是否更新该软件更新文件至该预备更新分区,初始值为该第一值。其中,该方法还包括若该目前开机分区为该闪存的一第一分区,则该第一参数设定为该第一值;以及若该目前开机分区为该闪存的一第二分区,则该第一参数设定为一第二值。 其中,该方法还包括当下载该软件更新文件时,执行开机升级,该步骤包括若该目前开机分区为该第一分区,则更新该软件更新文件至该第二分区,并将该第二参数设定为该第二值、该第三参数设定为该第二值且该第四参数设定为该第二值;以及若该目前开机分区为该第二分区,则更新该软件更新文件至该第一分区,并将该第二参数设定为该第一值、该第三参数设定为该第二值且该第四参数设定为该第二值。其中,该方法还包括当执行重新开机时,执行开机检查,该步骤包括若该第三参数为该第二值,则从该第二参数所记录的分区开机若该第二参数为该第二值,则挂载该第二分区以从该第二分区进行开机流程并将该第三参数设定为该第一值;若该第二参数为该第一值,则挂载该第一分区以从该第一分区进行开机流程并将该第三参数设定为该第一值;若该第三参数为该第一值,则从该第一参数所记录的分区开机若该第一参数为该第一值,则载入该第一分区以从该第一分区进行开机流程;若该第一参数为该第二值,则挂载该第二分区以从该第二分区进行开机流程;若该第四参数为该第二值,则将该第四参数设定为该第一值并将该第二参数设定为该第一参数所记录的值。其中,该方法还包括当从该第二参数所记录的分区开机成功并执行到主程序时,执行开机完成,该步骤包括若该第四参数为该第二值,则将该第一参数设定为该第二参数所记录的值并将该第四参数设定为该第一值。本专利技术的可以确保电子设备不会因软件升级失败而有影响,且不管经过几次软件更新,本专利技术的仍然有效。附图说明图I所示为公知的Flash存储器分区切割示意图;图2所示为根据本专利技术一实施例的Flash存储器分区切割示意图;图3所示为根据本专利技术一实施例的流程图;图4所示为根据本专利技术一实施例的Flash存储器分区切割示意图;图5所示为根据本专利技术一实施例的流程图;图6所示为根据本专利技术一实施例的流程图。主要组件符号说明A、N、F、C 参数S501、S502、…S509 步骤K-l、FS-l、K-2、FS-2 分区 S601、S602、…S609 步骤S301、S302、... S306 步骤具体实施例方式以下说明是本专利技术的实施例。其目的是要举例说明本专利技术一般性的原则,不应视为本专利技术的限制,本专利技术的范围应当以权利要求书的范围所界定者为准。图I所示为公知的Flash存储器分区(Partition)切割示意图。在电子设备的一般开机流程中,当电子设备启动时,硬件系统会载入开机载入程序(Boot Loader)到电子设备的主存储器上,然后开机载入程序会将储存在Flash存储器上的操作系统(OperatingSystem, OS)载入到主存储器中,并且进入操作系统的核心(Kernel)执行,接着初始化硬件及相关资源。在初始化完成之后,便会从Flash存储器挂载另一分区以载入其中的文件系统(File System)。在文件系统里储存了与使用者界面沟通的相关程序及使用者数据等。 当文件系统的分区被挂载后,操作系统便会执行里面的程序以执行相关功能或提供互动界面与使用者沟通。图2所示为根据本专利技术一实施例的Flash存储器分区切割示意图。图3所示为根据本专利技术一实施例的流程图。在本实施例中,电子设备目前开机时所挂载的分区为图2中的分区K-I及FS-1,其中分区K-I为操作系统的核心,分区FS-I为文件系统。在步骤S301中,在Flash存储器的目前开机分区K-I和FS-I之外,切割出预备更新分区K-2和FS-2,其中分区K-2和FS-2的大小分别与分区K-I和FS-I相同。在步骤S302中,通过OTA协议或其他协议方式将准备要升级的软件更新文件下载至电子设备。然后在步骤S303中,藉由Flash工具等将软件更新文件更新至预备更新分区中。例如将分区K-I的核心的软件更新文件更新至分区K-2中,将分区FS-I的文件系统的软件更新文件更新至分区FS-2中。接着在步骤S304中验证软件更新文件是否能正本文档来自技高网...

【技术保护点】
一种软件更新方法,适用于具有闪存的电子设备,该方法包括:在该闪存的一目前开机分区之外,切割出一预备更新分区,该目前开机分区为该电子设备目前开机时所挂载的分区;下载一软件更新文件;更新该软件更新文件至该预备更新分区;验证该软件更新文件是否能正常运作;以及若正常运作则将该预备更新分区设置为该电子设备往后开机时所挂载的分区,否则仍维持以该目前开机分区为该电子设备往后开机时所挂载的分区。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈智文郭奕新洪于玉陈楙仕
申请(专利权)人:启碁科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1