一种软件升级方法、存储媒介和软件升级设备技术

技术编号:2834978 阅读:227 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种软件升级方法,所述方法包括:当接收到软件升级通知时,设备执行存储媒介中的软件升级指令,进行软件升级。利用本方法进行软件升级时,可以省去硬件重启和自检的时间,对于一些启动时有大量硬件自检的系统,能非常显著地减少系统重启的时间。

【技术实现步骤摘要】

本专利技术涉及通信领域,具体涉及一种软件升级方法、存储媒介和软件升级 设备。
技术介绍
在电信设备升级软件时,需要将软件从媒介中升级到设备系统中,而通常 的做法需要复位重启设备,这样做经常会中断业务,造成一定的损失,因而如 果能在避免重启硬件的情况下完成软件的升级,便能最小程度地减少升级对业 务的影响。如图1所示,某一软件在内存中的地址是固定的,该图是一个间隔内存使用 示意图,软件会根据在内存中的地址运行,即软件运行区。在进行软件的升级 更新时,需要将软件升级到系统中,而按照现有方法,必须对硬件进行重启,使用扩展bootrom指令才能对软件进行搬移,实现升级软件复位重启运行的过程 与系统第一次上电启动的流程没有区别,包含了如图2所示的四个过程:硬件(如 CPU)的重启,硬件初始化和自检,解压软件,启动软件。具体来说,这四个 过程是这样的。 其中硬件的重启如果更换了硬件的驱动软件、逻辑软件等,在这些情况下都 需要重启硬件。硬件初始化和自检其主要意义在于检查硬件是否存在问题,在这里的初 始化是指硬件重启后boot阶段的初始化,在软件启动时也会进行一些硬件初始 化,这些初始化,是为了恢复硬件的初始状态。解压软件指,通过可运行的代码从媒介中读取软件,然后把可执行代码解 压缩到内存中的主机软件运行区中。启动软件的过程,就是从主机软件的内存中的起始位置开始运行指令,完 成主机软件的初始化和各种系统任务。在系统中,所有的单板从上电启动到软件成功运行一般都要经过上述一系列的过程。如图3所示,软件升级更新时,需要将软件搬移到系统中,以软件保 存在闪存FLASH中为例,在单板上一般有一个bootrom启动芯片,也就是我们常 说的BIOS (Basic Input/Output System,基本输入/输出系统),bootrom芯片中 的指令是固化在里面的。另外,用于保存各种文件的FLASH芯片,其中保存有 扩展bootrom指令,是由基本bootrom通过I/0设备写到FLASH中的,而FLASH中 保存的软件的应用指令是由扩展bootrom通过I/0设备写到FLASH中的。在单板 上电启动时,PC指针将会跳转到bootrom芯片中某个固定的地址开始执行, bootrom芯片进行简单的硬件初始化(比如片选的初始化)之后,开始跳转到 FLASH中的扩展bootrom指令,执行扩展bootrom指令,扩展bootrom指令对所有 的硬件进行初始化并做适当的配置,然后将FLASH中的软件搬移到随机存储器 RAM中,完成软件的启动。硬件的重启、初始化和自检过程非常耗时,这一过程会消耗大量的时间, 并影响业务的进ff。
技术实现思路
有鉴于此,本专利技术所要解决的技术问题就在于,提供一种软件升级方法、 存储々某介和软件升级设备,以解决现有技术中在软件升级时需要重启系统所引 起的时间消耗及业务中断问题。一种软件升级方法,包括以下步骤当接收到软件升级通知时,设备执行存^f某介中的软件升级指令,进行软 件升级。其中,所迷存^i某介为内存时,设备执行内存中预设固定地址区域内存储 的所述指令,进行4t件升级。其中,在系统上电启动时将软件升级指令写入并保存于所述固定地址中。其中,通过启动芯片bootrom将软件升级指令写入并保存于所述固定地址中。其中,所述存^i某介为闪存FLASH或者硬盘时,所述软件升级指令以文件 的形式保存在所述媒介中,设备执行所迷存#^某介中的所述文件。 较佳地,所述软件升级指令运行时执行以下步骤 Cl、软件升级指令从媒介中读取软件; C2、软件升级指令将所述软件搬移到内存中的软件运行区。 其中,所述步骤C1中包括软件升级指令从闪存FLASH、内存或者硬盘任 一种媒介中读取软件。 其中,步骤C2为软件升级指令将所述软件搬移并解压到内存中的软件运行区。较佳地,在步骤C2后还进一步包括C3、软件升级指令跳转到软件在软件运行区的起始地址,运行所述软件。本专利技术还提供了一种存储媒介,该存储媒介中存储有用户预设的软件升级 指令,在收到触发指令时执行所存储的指令,实现软件的升级。其中,所述存储i某介为FLASH、硬盘或者内存中的任一种。其中,所述存储媒介为内存时,所述预设的指令存储在内存中的固定地址 空间。其中,所述存储媒介为FLASH或者硬盘时,所述预设指令以文件的形式存 储在所迷存储媒介中。本专利技术还提供了一种软件升级设备,包括存储有用户预设的指令的存储々某 介,在收到触发指令时,执行所述指令,实现软件的升级。其中,所述存储媒介为内存时,所述预设的指令存储在内存中的固定地址 空间内。 其中,所述存储媒介为FLASH或者硬盘时,所述预设指令以文件的形式存 储在所述存储媒介中。由于采用以上方案,当接收到软件升级通知时,设备执行存储媒介中的软 件升级指令,进行软件升级,在硬件不必进行重启的情况下直接实现软件的升 级,从而节省了系统重启的时间,并避免系统业务的中断。附图说明图l示出了系统的内存使用示意图。图2示出了现有系统重启的流程示意图。图3示出了现有技术中单板启动的硬件流程示意图。图4示出了本专利技术所进行的软件内存运行区划分示意图。图5示出了本专利技术实现系统升级重启的过程示意图。具体实施例方式下面结合附图和具体实施例对本专利技术予以详细说明。本专利技术提供了一种软件升级的方法,当接收到软件升级通知时,设备执行 存储々某介中存储的软件升级指令,进行软件升级。本专利技术还提供了 一种存 介,该存储媒介中存储用户预设的升级指令, 在收到触发指令时执行所存储的指令。该存储々某介可以为内存、硬盘,也可以 是闪存FLASH。当存储媒介为内存时,存储的是软件升级指令,这段升级指令 存储在内存中的一块固定的地址中,具体的存储方法下文会有描述;而当存储 媒介是硬盘或者闪存时,该软件升级指令就以文件的形式存储在所述存储媒介 中。本专利技术还提供了一种软件升级设备,包括存储有用户预设的指令的存储媒 介,在收到触发指令时,执行所述指令,实现软件的升级。该存储媒介可以为内存、硬盘,也可以是闪存FLASH。同样,当存储媒介为内存时,存储的是软 件升级指令,这段升级指令存储在内存中的一块固定的地址中;而当存 介 是硬盘或者闪存时,该软件升级指令就以文件的形式存储在所述存储媒介中。由于在系统正常运行的情况下,升级软件主动复位时,能够保证当前的硬 件系统的正常,只需要直接进行软件的搬移即可完成软件的升级。以存储媒介 为内存为例,在本专利技术中,对所述内存软件运行区重新进行规划。在主机软件 运行区中划分一块固定的地址,如图4所示,称之为特殊指令区,用于保存软件 升级指令,替代扩展bootrom指令的部分功能。在具体实施例中,这一划分方法 可以通过以下步骤实现基于VxWorks文件系统,在编译软件时通过配置文件 对内存空间的使用进行配置,即把主机软件的运行起始地址(图3中的 RAM—LOW_ADRS )后移一段地址,通过代^码的方式控制对所述地址空间不进 行访问,这样实际软件运行时,就有一段空余内存,从而将这一部分地址划分 出来只用于存放升级指令,作为特殊指令区。在以后的软件升级中,便可以在 避免对硬件进4亍重启的情况下将软件升级到系统中。软件升级指令在系统上电启动时通过bootrom写入特殊本文档来自技高网
...

【技术保护点】
一种软件升级方法,其特征在于,包括以下步骤:当接收到软件升级通知时,设备执行存储媒介中的软件升级指令,进行软件升级。

【技术特征摘要】

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

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

1