设备启动方法和设备技术

技术编号:7286722 阅读:228 留言:0更新日期:2012-04-21 07:53
本发明专利技术提供了设备启动方法和设备。该方法中,在设备冷启动时,如果主用Bootware启动出现问题,则复位设备,使设备从备用Bootware启动,这实现了由于一个Bootware故障时仍能保证设备启动的目的,提高设备的稳定性,增加了设备容错能力,减少了设备维护成本。

【技术实现步骤摘要】

本专利技术涉及数据通信技术,特别涉及设备启动方法和设备
技术介绍
在数据通信系统中,交换机设备的软件一般分为引导软件(Bootware)和主机软件。其中,Bootware用于引导主机软件,并且当存在增加特性或修改特性的需求时,用户可以在引导软件中根据需求更换主机软件。但是,这必须保证Bootware始终正常。而当 Bootware出现故障时,比如由于突然掉电造成Bootware损坏,该出现故障的Bootware将不能正确引导主机软件,导致设备无法启动。通常,当Bootware出现故障时,客户现场是无法消除该故障的,必须重新烧写硬件存储,给设备维护造成极大地麻烦。
技术实现思路
本专利技术提供了设备启动方法和设备,以通过双启动方式实现由于一个Bootware 故障时仍能保证设备启动,提高设备的稳定性。本专利技术提供的技术方案包括一种设备启动方法,所述设备中包含CPU、可编程硬件逻辑器件以及存储主用引导软件和备用引导软件的存储单元;该方法包括可编程硬件逻辑器件上电后将引导软件启动标识Boot_0K以及引导软件地址标识Bootjype设置为初始值,并启动引导软件启动定时器;CPU发送引导软件启动地址信息至可编程硬件逻辑器件;可编程硬件逻辑器件确定Bootjype为初始值,则输出收到的引导软件启动地址信息至存储单元;CPU根据输出至所述存储单元的引导软件启动地址信息,读取主用引导软件,执行引导软件启动;可编程硬件逻辑器件确定引导软件启动定时器超时且所述Boot_0K为初始值,则将Bootjype设置为设定值并输出复位信号至CPU ;CPU根据收到的所述复位信号执行复位。一种利用引导软件Bootware启动的设备,所述设备包括CPU、可编程硬件逻辑器件以及用于存储主用弓丨导软件和备用弓丨导软件的存储单元;其中,所述可编程硬件逻辑器件在上电后将引导软件启动标识Boot_0K以及引导软件地址标识Bootjype设置为初始值,并启动引导软件启动定时器;所述CPU发送引导软件启动地址信息至可编程硬件逻辑器件;所述可编程硬件逻辑器件在确定Bootjype为初始值时,输出收到的引导软件启动地址信息至存储单元;所述CPU根据所述可编程硬件逻辑器件输出至所述存储单元的弓丨导软件启动地址信息,读取主用引导软件,执行引导软件启动;所述可编程硬件逻辑器件,确定引导软件启动定时器超时且所述Boot_0K为初始值,则将所述Bootjype设置为设定值并输出复位信号至CPU ;所述CPU,根据收到的所述复位信号执行复位。由以上技术方案可以看出,本专利技术中,在设备冷启动时,如果主用Bootware启动出现问题,则复位设备,使设备从备用Bootware启动,这实现了由于一个Bootware故障时仍能保证设备启动的目的,提高设备的稳定性,增加了设备容错能力,减少了设备维护成本。附图说明图1为本专利技术提供的设备启动方法实施方式的流程图;图2为本专利技术实施例提供设备结构图;图3为本专利技术实施例提供的另一设备结构图。具体实施例方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。为了保证设备中Bootware出现故障时,仍能正常启动,本专利技术要求设备的 Bootware以主备方式存储,具体为在设备的存储单元中设置两个Bootware存储区,即 Bootware主区和Bootware备区,其中,这两个Bootware存储区分别存储完整的Bootware, Bootware主区存储的Bootware称为主用Bootware, Bootware备区存储的Bootware称为备用 Bootware。Bootware主区和Bootware备区具有不同的存储地址,为便于描述,将Bootware主区的存储地址称为主用Bootware地址,而将Bootware备区的存储地址称为备用Bootware 地址。需要说明的是,本专利技术中,可在设备的一个硬件存储介质比如Flash上设置上述两个Bootware存储区,也可在两个不同的硬件存储介质比如Flash上设置上述两个 Bootware存储区。另外,为实现本专利技术提供的方法,在执行本专利技术提供的方法之前,需要先从设备现有的可编程硬件逻辑器件(简称CPLD)中选择出一个用于参与启动设备的CPLD,本专利技术在该选择出的CPLD具备的原有功能不变的基础上对该选择出的CPLD进行扩展,使其与设备的CPU、Bootware软件相结合参与设备的启动。基于上面描述,下面通过图1对本专利技术提供的方法进行描述参见图1,图1为本专利技术实施例提供的流程图。如上所述,在本流程执行之前,需要从设备包含的CPLD中选择出一个用于参与本专利技术提供的设备启动的CPLD。基于该选择的 CPLD,则图1所示的流程可包括以下步骤步骤101,CPLD上电后将引导软件启动标识Boot_0K以及引导软件地址标识Boot_ Type设置为初始值,启动引导软件启动定时器。步骤102,CPU发送引导软件启动地址信息至CPLD。步骤103,CPUH;ISBOOt_Type为初始值,则输出收到的引导软件启动地址信息至存储单元。步骤104,CPU根据输出至所述存储单元的引导软件启动地址信息,读取主用引导软件,执行引导软件启动。步骤105,CPLD确定引导软件启动定时器超时且所述Boot_0K为初始值,则将 Bootjype设置为设定值并输出复位信号至CPU。步骤106,CPU根据收到的所述复位信号执行复位。本实施例中,引导软件启动地址信息可以是存储器中Bootware存储区域的启动地址或存储Bootware的存储器的片选信号。至此,完成图1所示的流程。从图1所示的流程可以看出,本专利技术中,设备中的CPU和CPLD相结合实现该设备启动。基于图1所示的流程,图2示出了在设备的一个硬件存储介质以Flash为例设置上述两个Bootware存储区时的设备结构图。图3示出了在设备的两个不同硬件存储介质以 Flash为例设置上述两个Bootware存储区时的设备结构图。在图2和图3中,CPLD、CPU结合启动引导软件,以实现设备的启动。基于图2所示设备,对该设备的启动方法详细描述 设备上电后,CPU对CPLD进行供电。CPLD在上电后设置Boot_0K、Bootjype为初始值,以及启动引导软件启动定时ο其中,Boot_0K为初始值,表示引导软件未启动成功,而Boot_0K为预设值,则表示引导软件启动成功。CPLD上电时,默认引导软件未启动成功,即设置Boot_0K为初始值。其中,Boot_0K可通过寄存器实现,比如,寄存器取值为0,表示引导软件未启动成功,而寄存器取值为1时,表示表示引导软件启动成功。通过设置Boot_0K,使用CPLD维护定时器,属于硬件维护,不会出现软件挂起,设备没有响应的问题。其中,Bootjype为初始值,则表示CPLD将CPU输出的Bootware启动地址信息直接输出至Flash芯片,CPU根据输出至Flash芯片Bootware启动地址,从存储了主用 Bootware的存储区域中读取主用BootwareJAS Bootware启动;若Boot_Type为设定值, 则表示CPLD将CPU输出的Bootware启动地址信息修改后输出至Flash芯本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:毛桂全郑上闽秦永钢
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

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

1
相关领域技术