一种Boot软件升级方法和一种Boot软件恢复方法技术

技术编号:2854866 阅读:467 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种Boot软件升级方法,该方法中,预先设置Boot存储主区和Boot存储备区,分别存储完整的Boot软件,该方法还包括以下步骤:A.系统启动,运行Boot存储主区中的Boot软件,系统启动完成后,下载Boot升级软件,将Boot升级软件存储到Boot存储备区;B.系统重新启动,运行Boot存储备区中Boot升级软件。本发明专利技术还公开了一种Boot软件恢复方法,该方法中,预先设置Boot存储主区和Boot存储备区,分别存储完整的Boot软件,该方法还包括步骤:a.系统启动,运行Boot存储主区中的Boot软件,判断Boot软件运行是否正常,如果运行正常则继续运行;否则,重新启动系统,运行Boot存储备区中的Boot软件。本发明专利技术中,不必由专业人员使用专用软件来实现Boot软件的升级和恢复,大大降低了Boot软件恢复的难度。

【技术实现步骤摘要】

本专利技术涉及软件升级技术,特别是指。
技术介绍
一般而言,软件的版本越高,提供的功能越多越强,所以大多数软件都提供升级功能。软件的升级,可以在不改变硬件设备的条件下,修改原有软件版本的缺陷,实现更多的功能。升级时,需要升级的功能文件通常都是集合成一个文件,以二进制的形式存在。对于软件来说,通常将整体软件根据功能的不同,存储在不同的ROM空间,软件存储区的划分使得整体软件依赖物理存储而分开,从而实现了升级部分软件功能。以手持设备软件存储区为例,一般软件存储区的划分如图1所示,图1中的软件存储区分为四个部分Boot存储区、App可执行文件区、文件系统区和保留的专用数据存储区。各个部分的功能如下Boot存储区存储的是Boot软件,Boot软件是整个软件的引导,有三个功能1、软件启动时,引导软件的启动过程;2、软件升级时,通过PC端的相关软件与PC建立通信,并把PC上的App代码下载到手持设备中;3、在App软件损坏时,引导重新加载App的可执行二进制文件到“App可执行文件区”。App可执行文件区,用于存储软件运行程序。文件系统区,用于存储文件,如摄像头获取的图片文件、通过网络获取的MP3文件等。保留的专用数据存储区,用于保留一些关键参数,包括某些参数的备份。通常所说的软件升级,主要是指升级App可执行文件区中的软件,升级方法为Boot软件通过和PC端的相关软件与PC建立通信,并把PC中的App软件下载到手持设备中。由于软件的升级需要运行Boot软件,以和PC端建立连接,所以不能够以直接下载软件的方式实现对Boot软件自身的升级。一旦Boot软件遭到破坏或需要升级时,只能通过专用的读写工具,如JTAG,由专业人员将新的Boot软件重新写到原Boot存储区,覆盖掉原先的软件,才能够实现Boot软件的升级。在PC或其他Boot软件存储在专用的Boot芯片中的设备中,对Boot的升级,采用的方法是,将Boot芯片从设备中取出,然后使用专用的读写工具,将升级软件写入到Boot芯片中,然后再将Boot芯片放回设备中;当Boot芯片中的Boot程序遭到破坏时,也只能用上述办法,恢复Boot软件。由以上技术方案可以看出,Boot软件的升级必须由专业人员使用专用的读写工具进行,对于普通用户来说,实现困难,无法像升级其它软件那样,直接获取升级软件,实现Boot软件的升级;并且在Boot软件的升级过程中,由于使用了新的Boot软件覆盖了原有Boot软件,导致了在升级失败时,无法直接恢复原有Boot软件;此外,当Boot软件遭到破坏后,必须由专业人员使用专用的读写工具才能恢复,实现起来比较困难。
技术实现思路
有鉴于此,本专利技术的第一目的在于提供一种Boot软件的升级方法,该方法实现容易,能够直接获取升级软件对Boot软件升级;本专利技术的第二目的在于提供一种Boot软件的恢复方法,该方法实现容易,不必由专业人员使用专用的读写工具进行恢复,能够直接恢复遭到损坏的Boot软件。为了达到上述第一目的,本专利技术提供了一种Boot软件的升级方法,该方法包括以下步骤A、系统启动,运行Boot存储主区中的Boot软件,系统启动完成后,下载Boot升级软件,将Boot升级软件存储到Boot存储备区;B、系统重新启动,运行Boot存储备区中Boot升级软件。较佳地,步骤A中,下载Boot升级软件的方法为下载Boot升级软件到非Boot存储区;将Boot升级软件存储到Boot存储备区的方法为将Boot升级软件从非Boot存储区读出后存储到Boot存储备区。较佳地,步骤B后,进一步包括C、判断Boot存储备区中的Boot升级软件运行是否正常,如果运行不正常,系统重新启动,运行Boot存储主区中的Boot软件。较佳地,步骤C中,进一步包括如果运行正常,系统将Boot升级软件存储到Boot存储主区;上述步骤C中,运行Boot存储主区中的Boot软件后,进一步包括系统启动完成后,将Boot存储主区中的Boot软件存储到Boot存储备区。较佳地,该方法进一步包括预先设置Boot启动标志,该标志有两个值,分别对应于运行Boot存储主区中的Boot软件和Boot存储备区中的Boot软件;系统启动时,查询Boot启动标志,根据Boot启动标志的值运行Boot存储主区中的Boot软件或Boot存储备区中的Boot软件;则步骤A后,进一步包括系统将Boot启动标志设置为运行Boot存储备区中Boot软件的值。较佳地,该方法进一步包括预先设置预引导程序;则上述查询Boot启动标志为,预先设置的预引导程序查询Boot启动标志。较佳地,步骤B后,进一步包括C1、预引导程序判断Boot软件运行是否正常,如果运行不正常,则升级失败,预引导程序将Boot启动标志设置为运行Boot存储主区中Boot软件的值,然后重新启动系统。较佳地,该方法进一步包括预先在预引导程序中设置Boot启动定时器,则上述的判断Boot软件运行是否正常的方法为如果预引导程序检测到Boot启动定时器超时前有参数返回,且返回参数正确,则Boot软件运行正常;如果预引导程序检测到Boot软件运行过程中,初始化返回参数出现错误,或预引导程序检测到Boot启动定时器超时,且Boot软件没有返回参数,则Boot软件运行不正常。较佳地,步骤C1中,进一步包括如果运行正常,系统将Boot升级软件存储到Boot存储主区;在系统重新启动后,进一步包括将Boot存储主区中的Boot软件存储到Boot存储备区。为了达到上述第二目的,本专利技术提供了一种Boot软件的恢复方法,该方法包括以下步骤a、系统启动,运行Boot存储主区中的Boot软件,判断Boot软件运行是否正常,如果运行正常则继续运行;否则,重新启动系统,运行Boot存储备区中的Boot软件。较佳地,步骤a中,重新启动系统,运行Boot存储备区中的Boot软件后,进一步包括b、系统启动完成后,将Boot存储备区中的Boot软件存储到Boot存储主区。较佳地,该方法进一步包括预先设置Boot启动标志,该标志有两个值,分别对应于运行Boot存储主区中的Boot软件和Boot存储备区中的Boot软件;系统启动时,查询Boot启动标志,根据Boot启动标志的值运行Boot存储主区中的Boot软件或Boot存储备区中的Boot软件;则步骤a中,重新启动系统前,进一步包括将Boot启动标志设置为运行Boot存储备区中Boot软件的值。较佳地,该方法进一步包括预先设置预引导程序,上述查询Boot启动标志为,预先设置的预引导程序查询Boot启动标志;上述将Boot启动标志设置为运行Boot存储备区中Boot软件的值为,预先设置的预引导程序将Boot启动标志设置为运行Boot存储备区中Boot软件的值。较佳地,该方法进一步包括预先在预引导程序中设置Boot启动定时器,则上述判断Boot软件运行是否正常的方法为如果预引导程序检测到Boot启动定时器超时前有参数返回,且返回参数正确,则Boot软件运行正常;如果预引导程序检测到Boot软件运行过程中,初始化返回参数出现错误,或预引导程序检测到Boot启动定时器超时,且Boot软件没有返回参数,则Boot软件运行不正常。由以上技术方案可以看出本文档来自技高网
...

【技术保护点】
一种Boot软件升级方法,其特征在于,预先设置Boot存储主区和Boot存储备区,分别存储完整的Boot软件,该方法还包括以下步骤:A、系统启动,运行Boot存储主区中的Boot软件,系统启动完成后,下载Boot升级软件,将Boot 升级软件存储到Boot存储备区;B、系统重新启动,运行Boot存储备区中Boot升级软件。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨鹏亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1