CN112650538A - 网络设备的启动方法及装置 - Google Patents

网络设备的启动方法及装置 Download PDF

Info

Publication number
CN112650538A
CN112650538A CN202110021515.XA CN202110021515A CN112650538A CN 112650538 A CN112650538 A CN 112650538A CN 202110021515 A CN202110021515 A CN 202110021515A CN 112650538 A CN112650538 A CN 112650538A
Authority
CN
China
Prior art keywords
configuration file
cpld
flash memory
identifier
bmc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110021515.XA
Other languages
English (en)
Inventor
胡守锋
石坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN202110021515.XA priority Critical patent/CN112650538A/zh
Publication of CN112650538A publication Critical patent/CN112650538A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets

Abstract

本发明公开了一种网络设备的启动方法及装置,该方法包括:上电后,从所述内置闪存中获取第一配置文件;若加载所述第一配置文件失败,则从所述外置闪存中获取第二配置文件;若加载所述第二配置文件成功,则调用所述第二配置文件添加所述外置内存的标识;上电所述BMC,以使所述BMC若检测到所述CPLD携带所述外置内存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;与所述BMC共同启动所述CPU、所述交换芯片和所述其他器件。该方案可以确保CPLD正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动。

Description

网络设备的启动方法及装置
技术领域
本发明涉及通信技术领域,尤指一种网络设备的启动方法及装置。
背景技术
数据中心的网络设备包括中央处理器(Central Processing Unit,CPU)、基板管理控制器(Baseboard Manager Controller,BMC)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、交换芯片和其他器件,其中,CPLD管理各个器件的上电顺序,CPLD上电并启动后直接上电BMC,BMC和CPLD共同决定CPU、交换芯片和其他器件的上电时间。
若网络设备在上一次工作过程中发生升级CPLD异常中断、CPLD程序误擦除或其他干扰源破坏等等情况,CPLD所存储的配置文件可能丢失,CPLD无法工作,导致BMC无法上电,CPU、交换芯片和其他器件无法上电,整个网络设备无法启动。
为了避免上述情况的出现,由BMC检测CPLD是否正常工作,若检测到CPLD无法正常工作,则恢复CPLD。该方法只能在BMC上电并启动后才能检测CPLD,若在网络设备启动的时候CPLD已经故障,则BMC无法上电,进而导致整个网络设备不能够启动。
发明内容
本发明实施例提供一种网络设备的启动方法及装置,用以解决现有技术中存在的只能在BMC上电并启动后才能检测CPLD,若在网络设备启动的时候CPLD已经故障,则BMC无法上电,进而导致整个网络设备不能够启动的问题。
根据本发明实施例,提供一种网络设备的启动方法,应用于所述网络设备包括的复杂可编程逻辑器件CPLD中,所述CPLD包括内置闪存和外置闪存,所述网络设备还包括基板管理控制器BMC、中央控制器CPU、交换芯片和其他器件,所述方法包括:
上电后,从所述内置闪存中获取第一配置文件;
若加载所述第一配置文件失败,则从所述外置闪存中获取第二配置文件;
若加载所述第二配置文件成功,则调用所述第二配置文件添加所述外置内存的标识;
上电所述BMC,以使所述BMC若检测到所述CPLD携带所述外置内存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
与所述BMC共同启动所述CPU、所述交换芯片和所述其他器件。
具体的,加载所述第一配置文件失败,具体包括:
校验所述第一配置文件;
若校验所述第一配置文件失败,则加载所述第一配置文件失败。
具体的,加载所述第二配置文件成功,具体包括:
校验所述第二配置文件;
若校验所述第二配置文件成功,则加载所述第二配置文件成功。
具体的,调用所述第二配置文件添加所述外置内存的标识,具体包括:
调用所述第二配置文件在设定寄存器写入所述外置内存的标识;或者,调用所述第二配置文件将设定引脚的电平设置为低电平。
根据本发明实施例,还提供一种网络设备的启动方法,应用于所述网络设备包括的BMC中,所述网络设备还包括CPLD、CPU、交换芯片和其他器件,所述CPLD包括内置闪存和外置闪存,所述方法包括:
由所述CPLD上电后,检测所述CPLD是否携带外置闪存的标识,所述外置闪存的标识是所述CPLD上电后从所述内置闪存中获取第一配置文件、加载所述第一配置文件失败后从所述外置闪存中获取第二配置文件、加载所述第二配置文件成功后调用所述第二配置文件添加的;
若检测到所述设定寄存器中存储的是所述外置闪存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
与所述CPLD共同启动所述CPU、所述交换芯片和所述其他器件。
具体的,检测所述CPLD是否携带外置闪存的标识,具体包括:
检测所述CPLD的设定寄存器是否存储所述外置内存的标识;或者,检测所述CPLD的设定管脚的电平是否是低电平。
可选的,将与所述第一配置文件对应的第三配置文件替换所述第一配置文件之后,还包括:
将与所述第二配置文件对应的第四配置文件替换所述第二配置文件。
根据本发明实施例,还提供一种网络设备的启动装置,应用于所述网络设备包括的复杂可编程逻辑器件CPLD中,所述CPLD包括内置闪存和外置闪存,所述网络设备还包括基板管理控制器BMC、中央控制器CPU、交换芯片和其他器件,所述装置包括:
第一获取模块,用于上电后,从所述内置闪存中获取第一配置文件;
第二获取模块,用于若加载所述第一配置文件失败,则从所述外置闪存中获取第二配置文件;
调用模块,用于若加载所述第二配置文件成功,则调用所述第二配置文件添加所述外置内存的标识;
上电模块,用于上电所述BMC,以使所述BMC若检测到所述CPLD携带所述外置内存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
启动模块,用于与所述BMC共同启动所述CPU、所述交换芯片和所述其他器件。
具体的,所述第二获取模块,用于加载所述第一配置文件失败,具体用于:
校验所述第一配置文件;
若校验所述第一配置文件失败,则加载所述第一配置文件失败。
具体的,所述调用模块,用于加载所述第二配置文件成功,具体用于:
校验所述第二配置文件;
若校验所述第二配置文件成功,则加载所述第二配置文件成功。
具体的,所述调用模块,用于调用所述第二配置文件添加所述外置内存的标识,具体用于:
调用所述第二配置文件在设定寄存器写入所述外置内存的标识;或者,调用所述第二配置文件将设定引脚的电平设置为低电平。
根据本发明实施例,还提供一种网络设备的启动装置,应用于所述网络设备包括的BMC中,所述网络设备还包括CPLD、CPU、交换芯片和其他器件,所述CPLD包括内置闪存和外置闪存,所述装置包括:
检测模块,用于由所述CPLD上电后,检测所述CPLD是否携带外置闪存的标识,所述外置闪存的标识是所述CPLD上电后从所述内置闪存中获取第一配置文件、加载所述第一配置文件失败后从所述外置闪存中获取第二配置文件、加载所述第二配置文件成功后调用所述第二配置文件添加的;
替换模块,用于若检测到所述设定寄存器中存储的是所述外置闪存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
启动模块,用于与所述CPLD共同启动所述CPU、所述交换芯片和所述其他器件。
具体的,所述检测模块,用于检测所述CPLD是否携带外置闪存的标识,具体用于:
检测所述CPLD的设定寄存器是否存储所述外置内存的标识;或者,检测所述CPLD的设定管脚的电平是否是低电平。
可选的,所述替换模块,还用于:
将与所述第一配置文件对应的第三配置文件替换所述第一配置文件之后,将与所述第二配置文件对应的第四配置文件替换所述第二配置文件。
根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明有益效果如下:
本发明实施例提供一种网络设备的启动方法及装置,通过上电后,从所述内置闪存中获取第一配置文件;若加载所述第一配置文件失败,则从所述外置闪存中获取第二配置文件;若加载所述第二配置文件成功,则调用所述第二配置文件添加所述外置内存的标识;上电所述BMC,以使所述BMC若检测到所述CPLD携带所述外置内存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;与所述BMC共同启动所述CPU、所述交换芯片和所述其他器件。该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
附图说明
图1为本发明实施例中一种以CPLD为执行主体的网络设备的启动方法的流程图;
图2为本发明实施例中一种以BMC为执行主体的网络设备的启动方法的流程图;
图3为本发明实施例中一种与图1对应的网络设备的启动装置的结构示意图;
图4为本发明实施例中一种与图2对应的网络设备的启动装置的结构示意图;
图5为本申请示出的一种电子设备的结构示意图。
具体实施方式
针对现有技术中存在的只能在BMC上电并启动后才能检测CPLD,若在网络设备启动的时候CPLD已经故障,则BMC无法上电,进而导致整个网络设备不能够启动的问题,本发明实施例提供一种网络设备的启动方法,可以应用于网络设备包括的CPLD和BMC中,CPLD包括内置闪存和外置闪存,网络设备还包括CPU、交换芯片和其他器件,下面分别介绍以CPLD和BMC为执行主体的网络设备的启动方法。
首先介绍以CPLD为执行主体的网络设备的启动方法,该方法的流程如图1所示,执行步骤如下:
S11:上电后,从内置闪存中获取第一配置文件。
可以预先设置CPLD获取配置文件的顺序,例如可以设置为首先从内置闪存获取再从外置闪存获取,还可以设置为首先从外置闪存获取再从内置闪存获取,获取配置文件的顺序不同,只是加载的顺序不同,其他的过程是一样的,本实施例中是以首先从内置闪存获取再从外置闪存获取为例进行说明的,另一种方式不再赘述。
设置CPLD获取配置文件的顺序时,可以预先设置CPLD的特征区,然后由技术人员通过设定的工具将该顺序写入CPLD的特征区中。
CPLD上电后,根据CPLD的特征区中写入的顺序首先获取内置闪存中的配置文件,该配置文件可以定义为第一配置文件。
S12:若加载第一配置文件失败,则从外置闪存中获取第二配置文件。
若加载第一配置文件失败,根据CPLD的特征区中写入的顺序还可以获取外置闪存中的配置文件,该配置文件可以定义为第二配置文件。
S13:若加载第二配置文件成功,则调用第二配置文件添加外置内存的标识。
具体可以预先在第二配置文件中存入小程序,若加载第二配置文件成功,则可以调用第二配置文件中的小程序添加外置内存的标识。
需要说明的是,第一配置文件中也会携带一个小程序,若加载第一配置文件成功,也可以调用第一配置文件中的小程序添加内置内存的标识,第一配置文件和第二配置文件仅仅是小程序不同,其他都是相同的。
S14:上电BMC,以使BMC若检测到CPLD携带外置内存的标识,则将与第一配置文件对应的第三配置文件替换第一配置文件。
上电BMC,BMC若检测到CPLD携带外置内存的标识,说明CPLD是加载外置闪存的第二配置文件成功启动的,也就是说内置闪存中的第一配置文件异常,因此,可以将与第一配置文件对应的第三配置文件替换第一配置文件,第三配置文件可以保存在设定路径,文件名可以与第一配置文件相同,这样就可以基于文件名从设定路径直接获取第三配置文件。
其中,第三配置文件与第一配置文件可以是相同版本的正确文件,也可以是第一配置文件的升级版本的正确文件。
S15:与BMC共同启动CPU、交换芯片和其他器件。
CPLD、BMC、CPU、交换芯片和其他器件均启动后,网络设备可以正常启动,并处理相应的业务。
该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
具体的,上述S12中的加载第一配置文件失败,实施过程具体包括:
校验第一配置文件;
若校验第一配置文件失败,则加载第一配置文件失败。
CPLD获取第一配置文件后,首先会校验第一配置文件,若校验失败,则无法加载第一配置文件,从而加载第一配置文件失败。
具体的,上述S13中的加载第二配置文件成功,实施过程具体包括:
校验第二配置文件;
若校验第二配置文件成功,则加载第二配置文件成功。
CPLD获取第二配置文件后,首先会校验第二配置文件,若校验成功,则加载第一配置文件成功。
具体的,上述S13中的调用第二配置文件添加外置内存的标识,实施过程具体包括:
调用第二配置文件在设定寄存器写入外置内存的标识;或者,调用第二配置文件将设定引脚的电平设置为低电平。
调用第二配置文件添加外置内存的标识有两种方式:一种方式是调用第二配置文件在设定寄存器写入外置内存的标识,设定寄存器是预先设置的,外置内存的标识可以但不限于为1;第二种方式是调用第二配置文件将设定引脚的电平设置为低电平,设定引脚可以但不限限于为CPLD上的一个引脚。这里仅仅是以这两种方式为例进行说明,当然还有其他的方式来添加外置内存的标识,这里不再一一赘述。
以上介绍了以CPLD为执行主体的网络设备的启动方法,下面介绍以BMC为执行主体的网络设备的启动方法,该方法的流程如图2所示,具体执行步骤如下:
S21:由CPLD上电后,检测CPLD是否携带外置闪存的标识。
CPLD上电启动后,会给BMC上电,BMC上电后会检测CPLD是否携带外置闪存的标识。
其中,外置闪存的标识是CPLD上电后从内置闪存中获取第一配置文件、加载第一配置文件失败后从外置闪存中获取第二配置文件、加载第二配置文件成功后调用第二配置文件添加的。
S22:若检测到设定寄存器中存储的是外置闪存的标识,则将与第一配置文件对应的第三配置文件替换第一配置文件。
BMC若检测到CPLD携带外置内存的标识,说明CPLD是加载外置闪存的第二配置文件成功启动的,也就是说内置闪存中的第一配置文件异常,因此,可以将与第一配置文件对应的第三配置文件替换第一配置文件,第三配置文件可以保存在设定路径,文件名可以与第一配置文件相同,这样就可以基于文件名从设定路径直接获取第三配置文件。
S23:与CPLD共同启动CPU、交换芯片和其他器件。
CPLD、BMC、CPU、交换芯片和其他器件均启动后,网络设备可以正常启动,并处理相应的业务。
该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
具体的,上述S21中的检测CPLD是否携带外置闪存的标识,实施过程具体包括:
检测CPLD的设定寄存器是否存储外置内存的标识;或者,检测CPLD的设定管脚的电平是否是低电平。
在检测CPLD是否携带外置闪存的标识时,可以采用两种方式:一种方式是检测CPLD的设定寄存器是否存储外置内存的标识,例如,检测设定存储器的值是否为1;第二种方式是检测CPLD的设定管脚的电平是否是低电平。基于外置闪存的标识设置方式不同,检测CPLD是否携带外置闪存的方式也不同,这里不再针对其他方式一一赘述。
可选的,将与第一配置文件对应的第三配置文件替换第一配置文件之后,上述方法还包括:
将与第二配置文件对应的第四配置文件替换第二配置文件。
为了确保内置闪存配置文件和外置闪存的配置文件一致,在将与第一配置文件对应的第三配置文件替换第一配置文件之后,还可以将与第二配置文件对应的第四配置文件替换第二配置文件,第四配置文件可以保存在设定路径,文件名可以与第二配置文件相同,这样就可以基于文件名从设定路径直接获取第四配置文件。
其中,第四配置文件与第二配置文件可以是相同的版本的正确文件,也可以是第二配置文件的升级版本的正确文件;第一配置文件与第三配置文件仅仅是设置的小程序不同,而第三配置文件与第四配置文件也是仅仅设置的小程序不同,其他内容都是一样的。
基于同一发明构思,本发明实施例提供一种网络设备的启动装置,与如图1所示的方法对应,应用于网络设备包括的CPLD,CPLD包括内置闪存和外置闪存,网络设备还包括BMC、CPU、交换芯片和其他器件,该装置的结构如图3所示,包括:
第一获取模块31,用于上电后,从内置闪存中获取第一配置文件;
第二获取模块32,用于若加载第一配置文件失败,则从外置闪存中获取第二配置文件;
调用模块33,用于若加载第二配置文件成功,则调用第二配置文件添加外置内存的标识;
上电模块34,用于上电BMC,以使BMC若检测到CPLD携带外置内存的标识,则将与第一配置文件对应的第三配置文件替换第一配置文件;
启动模块35,用于与BMC共同启动CPU、交换芯片和其他器件。
该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
具体的,第二获取模块32,用于加载第一配置文件失败,具体用于:
校验第一配置文件;
若校验第一配置文件失败,则加载第一配置文件失败。
具体的,调用模块33,用于加载第二配置文件成功,具体用于:
校验第二配置文件;
若校验第二配置文件成功,则加载第二配置文件成功。
具体的,调用模块33,用于调用第二配置文件添加外置内存的标识,具体用于:
调用第二配置文件在设定寄存器写入外置内存的标识;或者,调用第二配置文件将设定引脚的电平设置为低电平。
基于同一发明构思,本发明实施例提供一种网络设备的启动装置,与如图2所示的方法对应,应用于网络设备包括的BMC,CPLD包括内置闪存和外置闪存,网络设备还包括CPLD、CPU、交换芯片和其他器件,该装置的结构如图4所示,包括:
检测模块41,用于由CPLD上电后,检测CPLD是否携带外置闪存的标识,外置闪存的标识是CPLD上电后从内置闪存中获取第一配置文件、加载第一配置文件失败后从外置闪存中获取第二配置文件、加载第二配置文件成功后调用第二配置文件添加的;
替换模块42,用于若检测到设定寄存器中存储的是外置闪存的标识,则将与第一配置文件对应的第三配置文件替换第一配置文件;
启动模块43,用于与CPLD共同启动CPU、交换芯片和其他器件。
该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
具体的,检测模块41,用于检测CPLD是否携带外置闪存的标识,具体用于:
检测CPLD的设定寄存器是否存储外置内存的标识;或者,检测CPLD的设定管脚的电平是否是低电平。
可选的,替换模块42,还用于:
将与第一配置文件对应的第三配置文件替换第一配置文件之后,将与第二配置文件对应的第四配置文件替换第二配置文件。
本申请实施例还提供了一种电子设备,请参见图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现上述实施例中任一所述的网络设备的启动方法。
通信接口520用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的网络设备的启动方法。
该方案中,CPLD包括内置闪存和外置闪存,若CPLD从内置闪存加载第一配置文件失败,则会从外置闪存加载第二配置文件,从而确保CPLD可以正常上电并启动,BMC可以正常启动,进而确保整个网络设备可以正常启动;并且,CPLD调用第二配置文件添加外置闪存的标识,BMC根据外置闪存的标识可以确定CPLD是从外置闪存获取第二配置文件启动的,可以确定内置闪存的第一配置文件异常,将与第一配置文件对应的第三配置文件替换第一配置文件,从而确保CPLD后续可以加载第三配置文件成功,BMC可以正常启动,进而确保整个网络设备可以正常启动。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种网络设备的启动方法,应用于所述网络设备包括的复杂可编程逻辑器件CPLD中,所述CPLD包括内置闪存和外置闪存,所述网络设备还包括基板管理控制器BMC、中央控制器CPU、交换芯片和其他器件,其特征在于,所述方法包括:
上电后,从所述内置闪存中获取第一配置文件;
若加载所述第一配置文件失败,则从所述外置闪存中获取第二配置文件;
若加载所述第二配置文件成功,则调用所述第二配置文件添加所述外置内存的标识;
上电所述BMC,以使所述BMC若检测到所述CPLD携带所述外置内存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
与所述BMC共同启动所述CPU、所述交换芯片和所述其他器件。
2.如权利要求1所述的方法,其特征在于,加载所述第一配置文件失败,具体包括:
校验所述第一配置文件;
若校验所述第一配置文件失败,则加载所述第一配置文件失败。
3.如权利要求1所述的方法,其特征在于,加载所述第二配置文件成功,具体包括:
校验所述第二配置文件;
若校验所述第二配置文件成功,则加载所述第二配置文件成功。
4.如权利要求1-3任一所述的方法,其特征在于,调用所述第二配置文件添加所述外置内存的标识,具体包括:
调用所述第二配置文件在设定寄存器写入所述外置内存的标识;或者,调用所述第二配置文件将设定引脚的电平设置为低电平。
5.一种网络设备的启动方法,应用于所述网络设备包括的BMC中,所述网络设备还包括CPLD、CPU、交换芯片和其他器件,所述CPLD包括内置闪存和外置闪存,其特征在于,所述方法包括:
由所述CPLD上电后,检测所述CPLD是否携带外置闪存的标识,所述外置闪存的标识是所述CPLD上电后从所述内置闪存中获取第一配置文件、加载所述第一配置文件失败后从所述外置闪存中获取第二配置文件、加载所述第二配置文件成功后调用所述第二配置文件添加的;
若检测到所述设定寄存器中存储的是所述外置闪存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
与所述CPLD共同启动所述CPU、所述交换芯片和所述其他器件。
6.如权利要求5所述的方法,其特征在于,检测所述CPLD是否携带外置闪存的标识,具体包括:
检测所述CPLD的设定寄存器是否存储所述外置内存的标识;或者,检测所述CPLD的设定管脚的电平是否是低电平。
7.如权利要求5或6所述的方法,其特征在于,将与所述第一配置文件对应的第三配置文件替换所述第一配置文件之后,还包括:
将与所述第二配置文件对应的第四配置文件替换所述第二配置文件。
8.一种网络设备的启动装置,应用于所述网络设备包括的复杂可编程逻辑器件CPLD中,所述CPLD包括内置闪存和外置闪存,所述网络设备还包括基板管理控制器BMC、中央控制器CPU、交换芯片和其他器件,其特征在于,所述装置包括:
第一获取模块,用于上电后,从所述内置闪存中获取第一配置文件;
第二获取模块,用于若加载所述第一配置文件失败,则从所述外置闪存中获取第二配置文件;
调用模块,用于若加载所述第二配置文件成功,则调用所述第二配置文件添加所述外置内存的标识;
上电模块,用于上电所述BMC,以使所述BMC若检测到所述CPLD携带所述外置内存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
启动模块,用于与所述BMC共同启动所述CPU、所述交换芯片和所述其他器件。
9.如权利要求8所述的装置,其特征在于,所述第二获取模块,用于加载所述第一配置文件失败,具体用于:
校验所述第一配置文件;
若校验所述第一配置文件失败,则加载所述第一配置文件失败。
10.如权利要求8所述的装置,其特征在于,所述调用模块,用于加载所述第二配置文件成功,具体用于:
校验所述第二配置文件;
若校验所述第二配置文件成功,则加载所述第二配置文件成功。
11.如权利要求8-10任一所述的装置,其特征在于,所述调用模块,用于调用所述第二配置文件添加所述外置内存的标识,具体用于:
调用所述第二配置文件在设定寄存器写入所述外置内存的标识;或者,调用所述第二配置文件将设定引脚的电平设置为低电平。
12.一种网络设备的启动装置,应用于所述网络设备包括的BMC中,所述网络设备还包括CPLD、CPU、交换芯片和其他器件,所述CPLD包括内置闪存和外置闪存,其特征在于,所述装置包括:
检测模块,用于由所述CPLD上电后,检测所述CPLD是否携带外置闪存的标识,所述外置闪存的标识是所述CPLD上电后从所述内置闪存中获取第一配置文件、加载所述第一配置文件失败后从所述外置闪存中获取第二配置文件、加载所述第二配置文件成功后调用所述第二配置文件添加的;
替换模块,用于若检测到所述设定寄存器中存储的是所述外置闪存的标识,则将与所述第一配置文件对应的第三配置文件替换所述第一配置文件;
启动模块,用于与所述CPLD共同启动所述CPU、所述交换芯片和所述其他器件。
13.如权利要求12所述的装置,其特征在于,所述检测模块,用于检测所述CPLD是否携带外置闪存的标识,具体用于:
检测所述CPLD的设定寄存器是否存储所述外置内存的标识;或者,检测所述CPLD的设定管脚的电平是否是低电平。
14.如权利要求12或13所述的装置,其特征在于,所述替换模块,还用于:
将与所述第一配置文件对应的第三配置文件替换所述第一配置文件之后,将与所述第二配置文件对应的第四配置文件替换所述第二配置文件。
15.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-4任一所述的方法步骤或者权利要求5-7任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤或者权利要求5-7任一所述的方法步骤。
CN202110021515.XA 2021-01-08 2021-01-08 网络设备的启动方法及装置 Pending CN112650538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110021515.XA CN112650538A (zh) 2021-01-08 2021-01-08 网络设备的启动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110021515.XA CN112650538A (zh) 2021-01-08 2021-01-08 网络设备的启动方法及装置

Publications (1)

Publication Number Publication Date
CN112650538A true CN112650538A (zh) 2021-04-13

Family

ID=75367611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110021515.XA Pending CN112650538A (zh) 2021-01-08 2021-01-08 网络设备的启动方法及装置

Country Status (1)

Country Link
CN (1) CN112650538A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816571A (zh) * 2022-04-15 2022-07-29 西安广和通无线通信有限公司 外挂闪存的方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816571A (zh) * 2022-04-15 2022-07-29 西安广和通无线通信有限公司 外挂闪存的方法、装置、设备及存储介质
CN114816571B (zh) * 2022-04-15 2023-06-16 西安广和通无线通信有限公司 外挂闪存的方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
KR101515198B1 (ko) 모바일 단말의 펌웨어 업그레이드 장치 및 방법
CN105843741B (zh) 应用程序的信息处理方法和装置
US20160132420A1 (en) Backup method, pre-testing method for environment updating and system thereof
US8726087B2 (en) System and method for curing a read inability state in a memory device
CN110995825B (zh) 一种智能合约的发布方法、智能节点设备及存储介质
US20180095806A1 (en) Technologies for fast boot with adaptive memory pre-training
CN111327490A (zh) 区块链的拜占庭容错检测方法及相关装置
CN105045640A (zh) 一种软件升级方法、装置及智能设备
CN112650538A (zh) 网络设备的启动方法及装置
CN112015587B (zh) 一种增强操作系统可靠性的方法及装置
CN110096882B (zh) 一种设备运行过程中的安全度量方法
KR20070008908A (ko) 데이터 처리장치 및 그 제어방법
CN110968456B (zh) 分布式存储系统中故障磁盘的处理方法及装置
WO2021012170A1 (zh) 固件启动方法、设备及计算机可读存储介质
CN109002317B (zh) 一种pcba固件升级方法及系统、pcba
CN108595292B (zh) 一种系统的优化方法、移动终端及计算机存储介质
CN106528248B (zh) 一种移动终端基于软件完整性的下载方法及系统
US20190278693A1 (en) Deployment tool
CN111273928A (zh) 一种自升级的bootloader设计方法
CN107179911B (zh) 一种重启管理引擎的方法和设备
CN110377477B (zh) 一种电子设备、功能模组、电子设备的主板、检测方法
CN104216797B (zh) 嵌入式系统设定值设定系统、方法及电子装置
CN111124814A (zh) Soc内存访问监控方法、装置和计算机设备
CN112540916A (zh) 失败用例自动重跑方法、装置、计算机设备和存储介质
CN111752735A (zh) 一种sdk异常排查方法及装置、计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination