一种Boot软件自动升级控制方法和装置制造方法及图纸

技术编号:6528201 阅读:268 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种Boot软件自动升级控制方法,该方法包括:板卡上Boot软件重启初始化阶段,获取升级控制字段,当判断该升级控制字段的内容为Boot软件升级版本号时,获取板卡上Boot软件的版本号,确定所述板卡上Boot软件的版本号是否低于所述Boot软件升级版本号,如果是,用主机软件包中的Boot软件升级,用升级后的Boot软件启动;否则,用板卡上的Boot软件启动。本发明专利技术基于与方法同样的发明专利技术构思,还提出了一种Boot软件自动升级控制装置,能够简便、灵活地控制Boot软件升级。

【技术实现步骤摘要】

本专利技术涉及软件升级
,特别是一种Boot软件自动升级控制方法和装置
技术介绍
大型嵌入式设备软件系统一般都由Boot软件和主机软件组成,Boot软件一般烧制在单板的Bootrom芯片里,主机软件放在单板的存储介质上,如flash或CF卡等,系统启动后,由Boot软件引导运行,初始化CPU、内存、串口、存储介质、文件系统等相关器件,然后加载引导主机软件,由主机软件运行完成设备的业务处理。Boot软件一般在设备出厂时烧制在单板Bootrom芯片中,跟随单板发货。由于业务扩展和修改缺陷的需要,Boot软件和主机软件都存在软件版本升级的需求。主机软件升级只需要将新的版本替换存储介质上原有版本,重新启动使用新版本即完成了升级。 Boot软件升级过程中需要将新版本Boot软件烧制到Bootrom芯片中,然后重新启动。烧制Bootom软件若出现断电等异常操作,会使升级失败设备返回原厂恢复。一方面Boot软件完成比较基本的功能,需求稳定,升级频率较主机软件低很多,另一方面也有需求实现、 缺陷修改、优化性能等需要升级Boot软件情况。在现有实现中,有通过单独升级Boot软件来解决上述问题的。当Boot软件存在升级需求时,厂商单独发布Boot软件包,通知用户下载该版本的Boot软件包,使用设备命令行或图形界面升级Boot软件,即将BOOT软件在线烧制到Bootrom芯片,然后重启设备即会使用新的Boot软件。但是由于很多用户不具备专业知识,一般都清楚使用的主机软件版本的升级,但不了解不关心Boot的升级通知和过程。而一些Boot的升级需要配套升级主机软件,需要花费较多时间解释说明。因此,随着大量用户使用,通知到用户升级新的Boot软件版本往往成为一个艰巨的任务,因此经常出现Boot软件缺陷问题能不改则不改,而实现Boot软件相关新需求也变成一个不可能的任务。针对上述单独升级Boot软件的缺陷,现有实现中,又提出一种跟随主机软件包升级Boot软件的方法。用户购买使用设备会关注主机软件升级通知,如网站通知或点到点通知,他们能够单独完成主机软件的升级,考虑将新发布Boot软件和主机软件一起打包,以主机软件版本号发布给用户。在系统重启Boot软件引导过程发现使用的Boot软件版本与主机软件包中的Boot版本号不同,则使用软件包Boot软件自动完成Boot软件的升级过程。但是,主机软件发布比较频繁,而Boot软件发布频率低,有些Boot软件的修改不一定要升级对应的Boot软件,如有些新增需求或优化导致的Boot软件新版本,原有的Boot 软件实际上可以继续使用,但主机软件打包时都选择最新发布的Boot软件配套打包,升级该版本主机软件时Boot软件也跟随自动升级,这样意味着大量使用中的设备会自动升级 Boot软件,升级Boot是烧制Bootrom芯片实现的,这种升级会引入不必要的风险。另一方面,嵌入式设备中的个别器件供应不上时,比如厂家停产,需要更换为其他厂商类似芯片,这些芯片的替换往往需要修改Boot软件中以识别、初始化新的芯片。用户原有的设备中插入使用新的芯片单板时,如分布式设备单板故障更换或扩容,新单板启动过程中自动比较运行的Boot软件版本与主机软件包中的Boot软件版本不同,出厂时烧制的新Boot版本被降级到原设备版本大包文件中老Boot版本,老的Boot版本不能初始化新单板上器件导致不能启动,此问题只能通过升级设备上主机软件解决。这种升级需要中断设备全部单板的业务,同时需要提前识别新的主机软件功能差异并对原有的业务配置进行更改,对于大型核心设备如高端路由器、核心路由器等,用户往往不能接受这种扩容或更换个别板卡引起软件升级导致业务中断和可能的升级风险。综上所述,现有实现中,还未能提出一种简便、灵活的Boot软件升级控制方法。
技术实现思路
有鉴于此,本专利技术主要目的是提供一种Boot软件自动升级控制方法,能够简便、 灵活地控制Boot软件升级。所述Boot软件携带于发布的主机软件包中,所述Boot软件包含Boot软件版本号,该方法包括所述Boot软件还包含Boot软件升级控制字段,所述升级控制字段根据该次Boot软件发布原因设置;板卡上Boot软件重启初始化阶段,获取所述升级控制字段,判断所述升级控制字段的内容,当所述升级控制字段的内容为Boot软件升级版本号时,获取板卡上Boot软件的版本号,确定所述板卡上Boot软件的版本号是否低于所述Boot软件升级版本号,如果是, 用所述主机软件包中的Boot软件升级,用升级后的Boot软件启动;否则,用板卡上的Boot 软件启动。其中,所述判断升级控制字段的内容,当所述升级控制字段的内容为比较升级指示时,该方法进一步包括获取板卡上Boot软件的版本号和主机软件包中Boot软件的版本号,确定所述主机软件包中Boot软件的版本号是否高于所述板卡上Boot软件的版本号;如果是,用所述主机软件包中的Boot软件升级后,用升级后的Boot软件启动;否则,用板卡上的Boot软件启动。所述判断升级控制字段的内容,当所述升级控制字段的内容为强制升级指示时, 进一步包括用所述主机软件包中的Boot软件升级,用升级后的Boot软件启动。所述Boot软件还包含升级启动控制字段,所述升级启动字段根据该次发布的 Boot软件在启动过程中需执行的操作设置;所述用升级后的Boot软件启动的方法进一步包括获取所述升级启动控制字段,根据获取的所述升级启动控制字段执行如下操作内存初始化指示对CPU内存全部初始化或局部初始化;内存自检指示不自检、五步法自检或九步法自检;芯片自检指示分别指示是否对各芯片进行自检。本专利技术的另一个主要目的是提供一种Boot软件自动升级控制装置,该装置包括 存储模块、获取模块、判断模块、确定模块、升级启动模块和启动模块;所述存储模块,用于存储携带Boot软件的主机软件包,所述Boot软件包含Boot 软件版本号和Boot软件升级控制字段,所述升级控制字段根据该次Boot软件发布原因设置;所述获取模块,与所述存储模块和所述判断模块相连,在板卡上Boot软件重启初始化时,用于从所述存储模块获取所述升级控制字段,并将该升级控制字段发送给所述判断模块;所述判断模块与所述确定模块相连,收到所述获取模块发来的升级控制字段,判断该升级控制字段的内容为Boot软件升级版本号,将该判断结果发送给所述确定模块;所述确定模块,与所述升级启动模块和所述启动模块相连,用于接收所述判断模块发来的判断结果,根据判断结果获取板卡上的Boot软件版本号,判断板卡上的Boot软件版本号是否低于所述Boot软件升级版本号,如果是,发送升级消息给所述升级启动模块, 否则,发送启动消息给所述启动模块;所述升级启动模块,收到所述判断模块发来的升级消息,用主机软件包中的Boot 软件升级,用升级后的Boot软件启动;所述启动模块,收到所述判断模块发来的启动消息,用板卡上的Boot软件启动。其中,该装置进一步包括比较模块;所述判断模块进一步用于判断该升级控制字段的内容为比较升级指示时,将该判断结果发送给所述比较模块;所述比较模块,与所述升级启动模块和所述启动模块相连,用于接收所述判断模块发来的判断结果,根据判断结果获本文档来自技高网
...

【技术保护点】
1.一种Boot软件自动升级控制方法,所述Boot软件携带于发布的主机软件包中,所述Boot软件包含Boot软件版本号,其特征在于,所述Boot软件还包含Boot软件升级控制字段,所述升级控制字段根据该次Boot软件发布原因设置;板卡上Boot软件重启初始化阶段,获取所述升级控制字段,判断所述升级控制字段的内容,当所述升级控制字段的内容为Boot软件升级版本号时,获取板卡上Boot软件的版本号,确定所述板卡上Boot软件的版本号是否低于所述Boot软件升级版本号,如果是,用所述主机软件包中的Boot软件升级,用升级后的Boot软件启动;否则,用板卡上的Boot软件启动。

【技术特征摘要】
1.一种Boot软件自动升级控制方法,所述Boot软件携带于发布的主机软件包中,所述 Boot软件包含Boot软件版本号,其特征在于,所述Boot软件还包含Boot软件升级控制字段,所述升级控制字段根据该次Boot软件发布原因设置;板卡上Boot软件重启初始化阶段,获取所述升级控制字段,判断所述升级控制字段的内容,当所述升级控制字段的内容为Boot软件升级版本号时,获取板卡上Boot软件的版本号,确定所述板卡上Boot软件的版本号是否低于所述Boot软件升级版本号,如果是,用所述主机软件包中的Boot软件升级,用升级后的Boot软件启动;否则,用板卡上的Boot软件启动。2.如权利要求1所述的方法,其特征在于,所述判断升级控制字段的内容,当所述升级控制字段的内容为比较升级指示时,该方法进一步包括获取板卡上Boot软件的版本号和主机软件包中Boot软件的版本号,确定所述主机软件包中Boot软件的版本号是否高于所述板卡上Boot软件的版本号;如果是,用所述主机软件包中的Boot软件升级后,用升级后的Boot软件启动;否则,用板卡上的Boot软件启动。3.如权利要求1所述的方法,其特征在于,所述判断升级控制字段的内容,当所述升级控制字段的内容为强制升级指示时,进一步包括用所述主机软件包中的Boot软件升级, 用升级后的Boot软件启动。4.如权利要求1至3任意一项所述的方法,其特征在于,所述Boot软件还包含升级启动控制字段,所述升级启动字段根据该次发布的Boot软件在启动过程中需执行的操作设置;所述用升级后的Boot软件启动的方法进一步包括获取所述升级启动控制字段,根据获取的所述升级启动控制字段执行如下操作内存初始化指示对CPU内存全部初始化或局部初始化;内存自检指示不自检、五步法自检或九步法自检;芯片自检指示分别指示是否对各芯片进行自检。5.一种Boot软件自动升级控制装置,其特征在于,该装置包括存储模块、获取模块、 判断模块、确定模块、升级启动模块和启动模块;所述存储模块,用于存储携带Boot软件的主机软件包,所述Boot软件包含Boot软件版本号和Boot软件升级控制字段,所述升级控制字段根据该次Boot软件发布原因设置;所述获取模块,与所述存储模块和所述判断模块相连,在板卡上Boot软件重启初始化时,用于从所述存储模块获取所述升级控制字段,并将该升级控制字段发送给所述判断模块;所述判断模块与所述确定模块相连,收到所述获取...

【专利技术属性】
技术研发人员:方海林
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86

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

1