[发明专利]一种基于UBoot的自动升级的控制方法及系统有效
申请号: | 201110382144.4 | 申请日: | 2011-11-25 |
公开(公告)号: | CN103136002A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 陈懿;陈皓;侯丙营;聂慧萍;张磊;张福军;余彦;张朝阳;赵杨 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 张永林 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 uboot 自动 升级 控制 方法 系统 | ||
技术领域
本发明涉及系统更新领域,具体涉及一种基于UBoot的自动升级的控制方法及系统。
背景技术
电子行业已进入了“后PC”时代,大大小小的嵌入式系统已深入到生产和生活的方方面面。而且,随着芯片技术的飞速发展,不管是消费类通用产品(手机/PMP等),还是行业专用设备(税控机/开票机等),都在采用32位以上的硬件平台,并使用操作系统。这样的硬件、软件架构决定了系统的软件层次会比较复杂,需要引导程序、操作系统、文件系统、多格式数据分区等。图1是当前典型的嵌入式系统存储分配的示意图。
UBoot是目前使用最为广泛的开源引导程序(bootloader),支持大多数的主流32位硬件平台和主流操作系统的引导。它有丰富的指令和外设驱动,可满足绝大多数此类系统的需要。采用UBoot做引导的系统,在开发阶段会开放控制台操作,通过在其Debug模式下手动执行指令来实现各种辅助功能,如访问U盘、网络加载程序、读写Flash和内存、设置环境变量等。产品定型后,控制台操作会关闭,这样就给操作系统、文件系统等的升级带来麻烦。譬如某些专用产品(如税控机/开票机)中,需要自动升级其中的操作系统、文件系统这两个部分。另外,对于这类产品,还需要有方便的不依赖于操作系统的硬件故障定位方法等需求。此外,通用的UBoot可能还需要嵌入一些设备特有的特殊操作,故UBoot自身也面临需要升级的需求。这样就需要有一个安全、快速、方便的系统级升级方法,能够在产品阶段由服务人员快速的完成对各级系统软件的升级。另外,对于这类产品,批量生产和维护过程中,还需要一个便捷的不依赖于操作系统的硬件故障诊断的方法,即可以自动引导便携式存储器中的故障诊断程序,完成故障诊断,而不影响原有固化好的系统的运行。总体来说,需要系统具有一个有安全控制的升级系统软件和引导故障诊断程序的“后门”。UBoot具有丰富的辅助调试指令,通过不同的指令组合完全可以实现前述的一些升级和加载需求。因此,当前需要一种基于UBoot的自动升级的技术方案,能够在产品阶段通过UBoot的指令组合执行来解决上述问题。
发明内容
本发明所要解决的技术问题在于提供一种基于UBoot的自动升级的控制方法及系统,以解决当前需要对系统进行自动升级需求的问题。
为了解决上述问题,本发明提供了一种基于UBoot的自动升级的控制方法,包括:
系统进行初始化,检测若连接U盘或网络服务器,则检测U盘或网络服务器是否存在脚本文件且脚本文件是否有效,若是,则根据该脚本文件编辑UBoot指令;
系统根据解析编辑后的UBoot指令,检测若存在待升级的软件,则检测若有该待升级的软件的新版本的源文件,则根据该源文件对该待升级的软件进行升级,完成系统的升级。
进一步地,上述方法还可包括:所述根据脚本文件编辑UBoot指令的步骤,包括:嵌入升级文件检测、脚本文件解密、指令解析、指令执行和提示的各指令。
进一步地,上述方法还可包括:所述系统检测若存在待升级的软件,则检测若有该待升级的软件的新版本的源文件,则根据该源文件对该待升级的软件进行升级的步骤,包括:对脚本文件进行解密,检测是否存在待升级的软件,若有,则判断U盘或网络服务器上是否有该待升级的软件的新版本的源文件,若有,则根据该源文件对该待升级的软件进行升级,完成系统的升级并提示升级成功。
进一步地,上述方法还可包括:所述系统判断若未连接U盘或网络服务器,U盘或网络服务器没有脚本文件,或者脚本文件为无效;或者所述系统根据解析编辑后的UBoot指令,检测若不存在待升级的软件或者U盘或网络服务器不存在该待升级的软件的新版本的源文件,则提示错误,结束检测过程,并运行原系统。
进一步地,上述方法还可包括:系统根据解析编辑后的UBoot指令,判断若有待加载的程序,则加载该程序并运行。
进一步地,上述方法还可包括:所述系统是基于UBoot指令中fatload、erase和cp控制升级和加载的过程。
本发明还提供了一种基于UBoot的自动升级的控制系统,包括:
初始化模块,用于对系统进行初始化,检测若连接U盘或网络服务器,则检测U盘或网络服务器是否存在脚本文件且脚本文件是否有效,若是,则根据该脚本文件编辑UBoot指令;
检测模块,用于根据解析编辑后的UBoot指令,检测若存在待升级的软件,则检测是否有该待升级的软件的新版本的源文件;及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110382144.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:防封隔器中途动作工具
- 下一篇:钻井传动系统