[发明专利]Uboot升级方法、系统及终端设备有效
申请号: | 201711022505.8 | 申请日: | 2017-10-27 |
公开(公告)号: | CN107704258B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 皮广辉;李超 | 申请(专利权)人: | 深圳市恒扬数据股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F11/14 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | uboot 升级 方法 系统 终端设备 | ||
本发明适用于软件升级技术领域,提供了一种Uboot升级方法、系统及终端设备,在存储模块上设置两个Uboot启动区域,可以根据Uboot启动标志位的值来确定启动区域,在进行Uboot升级后,如果升级成功,可以通过升级成功的Uboot启动区域进行启动,如果升级失败,则可以通过未进行升级的Uboot启动区域进行启动。本发明提供的Uboot升级方法、系统及终端设备,能够在Uboot升级失败时,保证产品的正常启动,并且降低了硬件设计的复杂性,节省成本。
技术领域
本发明属于软件升级技术领域,尤其涉及一种Uboot升级方法、系统及终端设备。
背景技术
Uboot(Universal Boot Loader)是目前使用最为广泛的开源引导程序,支持大多数的主流32位硬件平台和主流操作系统的引导,它有丰富的指令和外设驱动,可满足绝大多数此类系统的需要。由于Uboot里面包含一些硬件的驱动程序,有时需要对产品的Uboot驱动程序进行升级,或者后期发现Uboot存在漏洞,需要进行升级处理,以增强系统的稳定性。但是如果升级失败,将导致整个产品无法启动,产品将无法使用。
发明内容
有鉴于此,本发明实施例提供了一种Uboot升级方法、系统及终端设备,以解决现有技术中Uboot升级失败后产品无法启动的问题。
为解决上述问题,本发明实施例的第一方面提供了一种Uboot升级方法,包括以下步骤:
在单板上电后,启动计时器开始计时,检测Uboot启动标志位是否建立。
若检测Uboot启动标志位已经建立,则判断所述计时器的计时标志位的值是否为第一预设数值。
若所述计时器的计时标志位的值不为第一预设数值,则根据Uboot启动标志位的值跳转到存储模块中的第一Uboot启动区域或第二Uboot启动区域进行Uboot启动。
在启动Uboot成功后,使所述计时器停止计时,将所述计时器的计时标志位设置为第二预设数值,并根据成功启动Uboot的区域修改Uboot启动标志位的值。
在Uboot启动完成后,检测是否有Uboot升级指令。
若检测有Uboot升级指令,则根据所述Uboot升级指令对所述第一Uboot启动区域内存储的Uboot程序进行升级。
检测所述第一Uboot启动区域内存储的Uboot程序是否升级成功。
若检测到所述第一Uboot启动区域内存储的Uboot程序升级成功,则修改Uboot启动标志位的值为第三预设数值,重新执行所述启动计时器开始计时,检测Uboot启动标志位是否建立的步骤;若检测到所述第一Uboot启动区域内存储的Uboot程序升级失败,则退出Uboot升级,重新执行所述检测是否有Uboot升级指令的步骤。
进一步地,所述Uboot升级方法还包括:
若检测Uboot启动标志位没有建立,则初始化Uboot启动标志位的值为第四预设数值,跳转到第二Uboot启动区域进行Uboot启动。
进一步地,所述根据Uboot启动标志位的值跳转到存储模块中的第一Uboot启动区域或第二Uboot启动区域进行Uboot启动包括:
若Uboot启动标志位的值为第三预设数值,则验证第一Uboot启动区域内的镜像文件是否存在错误。
若验证第一Uboot启动区域内的镜像文件不存在错误,则跳转到存储模块中的第一Uboot启动区域进行Uboot启动。
若验证第一Uboot启动区域内的镜像文件存在错误,则跳转到存储模块中的第二Uboot启动区域进行Uboot启动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市恒扬数据股份有限公司,未经深圳市恒扬数据股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711022505.8/2.html,转载请声明来源钻瓜专利网。