CN101908008A - 一种bios切换装置及切换方法 - Google Patents
一种bios切换装置及切换方法 Download PDFInfo
- Publication number
- CN101908008A CN101908008A CN2009100860721A CN200910086072A CN101908008A CN 101908008 A CN101908008 A CN 101908008A CN 2009100860721 A CN2009100860721 A CN 2009100860721A CN 200910086072 A CN200910086072 A CN 200910086072A CN 101908008 A CN101908008 A CN 101908008A
- Authority
- CN
- China
- Prior art keywords
- bios
- programmable logic
- logic device
- pld
- signal
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种BIOS切换装置及切换方法,能够实现BIOS的自动切换。所述装置包括:第一BIOS、第二BIOS、南桥模块和可编程逻辑器件,其中,第一BIOS和第二BIOS分别与南桥模块连接,并分别与可编程逻辑器件连接,南桥模块与可编程逻辑器件连接;所述南桥模块用于向可编程逻辑器件提供当前BIOS的启动信息;所述可编程逻辑器件用于根据所述启动信息,判断当前BIOS是否成功启动,如果启动不成功,则进行BIOS切换,启动另一个BIOS。本发明与采用人工干预来激活备份BIOS的方法相比,能够实现自动切换,无需人工干预,节约了人力资源和成本。同时,利用了单板上现有的硬件资源(南桥模块和可编程逻辑器件),不需要额外增加电路,因此节约了单板的资源和成本。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种BIOS切换装置及切换方法。
背景技术
通常,计算机系统启动后,需要通过BIOS(Basic Input/Output System,基本输入/输出系统)来引导系统。BIOS是存储在ROM(Read-only Memory,只读存储器)中的一段非易失性代码,其中包含用于系统自检和控制键盘、显示、磁盘驱动器、串行通信以及其他功能的代码。当BIOS执行完成后,BIOS再从磁盘中加载操作系统。由于目前的BIOS通常存储在可重复擦写的ROM,如闪存(flash memory)中,因此当BIOS出现故障或异常时,系统就无法正常启动,因而会严重影响整个系统的可靠运行。
例如,基于X86(一种指令集)系统架构开发的板卡设备需要通过BIOS引导系统。当在单板运行或BIOS更新过程中出现操作者失误、烧写文件错误、电源断电、软件故障等情况时,会导致BIOS失效,也使单板无法正常初始化,从而严重影响了通信设备工作的稳定性和可靠性。为了避免这种情况的发生,通常做法是在单板上设计系统BIOS的备份,当主BIOS出现故障无法启动时,利用人工干预或外部控制逻辑模块来激活备份BIOS,从而实现主备BIOS的切换,保证系统能正常启动。
其中,人工干预来激活备份BIOS的方法是利用跳线、机械开关或上层软件命令等方式进行人工切换。这种方法应用在通信设备中会影响设备的正常运转,而且对人力资源的利用也是一种浪费。
通过外部控制逻辑模块来激活备份BIOS的方法如图1所示,一个存储设备存储主备BIOS,该存储设备挂接在IO(Input/Output,输入/输出)总线上,利用外部电路搭建的控制逻辑模块来控制IO总线上的控制信号以及地址信号,从而实现主备BIOS的自动切换。这种设计较为复杂,而且需要额外增加外部电路(即所述控制逻辑模块)来实现主备BIOS的自动切换。
综上所述,现有的利用人工干预或外部控制逻辑模块来激活备份BIOS,从而实现主备BIOS切换的方法,都存在缺陷。
发明内容
本发明所要解决的技术问题是提供一种BIOS切换装置及切换方法,能够实现BIOS的自动切换。
为了解决上述问题,本发明公开了一种BIOS切换装置,包括:
第一BIOS、第二BIOS、南桥模块和可编程逻辑器件,其中,第一BIOS和第二BIOS分别与南桥模块连接,并分别与可编程逻辑器件连接,南桥模块与可编程逻辑器件连接;
所述南桥模块用于向可编程逻辑器件提供当前BIOS的启动信息;
所述可编程逻辑器件用于根据所述启动信息,判断当前BIOS是否成功启动,如果启动不成功,则进行BIOS切换,启动另一个BIOS。
其中,所述第一BIOS和第二BIOS分别与可编程逻辑器件连接,具体包括:所述第一BIOS和第二BIOS分别利用输入管脚与可编程逻辑器件的两个IO管脚连接,信号定义为FLS_ID0和FLS_ID1,用于表示当前选择启动的BIOS信息。
其中,所述南桥模块与可编程逻辑器件连接,具体包括:所述南桥模块利用两个输入输出管脚与可编程逻辑器件的两个IO管脚连接,信号定义为BOOT_CTRL1和BOOT_CTRL2,其中BOOT_CTRL1信号用于南桥模块向可编程逻辑器件提供当前BIOS的启动信息,BOOT_CTRL2信号用于接收可编程逻辑器件反馈的表明当前成功启动的BIOS信息。
其中,所述可编程逻辑器件还用于接收外部时钟信号来设置内部计时器,并根据所述启动信息以及内部计时器的状态,判断当前BIOS是否成功启动。
其中,所述可编程逻辑器件通过发出系统复位信号来启动另一个BIOS。
优选的,所述装置还包括:告警处理模块,用于在启动另一个BIOS不成功时,接收可编程逻辑器件输出的告警状态信号,进行告警处理。
其中,所述可编程逻辑器件为复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA。
本发明还提供了一种BIOS切换方法,包括:
启动当前BIOS,当前BIOS通过南桥模块向可编程逻辑器件发出当前BIOS的启动信息;
所述可编程逻辑器件根据所述启动信息,判断当前BIOS是否成功启动,如果启动不成功,则进行BIOS切换,启动另一个BIOS。
其中,所述可编程逻辑器件根据所述启动信息,判断当前BIOS是否成功启动,具体包括:所述启动信息为南桥模块发出的BOOT_CTRL1信号;所述可编程逻辑器件根据所述BOOT_CTRL1信号的电平判断当前BIOS是否成功启动,如果该信号的电平在预定的时间段内发生变化,则当前BIOS启动成功;否则,启动不成功。
其中,所述判断具体包括:所述可编程逻辑器件首先预置内部计时器初始值,然后根据内部计时器初始值、预定的时间和输入可编程逻辑器件的时钟频率计算出内部计时器的溢出值;启动内部计时器,在内部计时器的值未达到所述溢出值的时间段内,如果所述BOOT_CTRL1信号的电平发生变化,则当前BIOS启动成功;否则,启动不成功。
其中,所述BIOS切换具体包括:设置启动超时状态标识,并将启动超时计数器的值加1,然后重新设置FLS_ID0信号和FLS_ID1信号的值,将另一个BIOS切换为当前BIOS;其中,所述FLS_ID0信号和FLS_ID1信号分别为可编程逻辑器件发给两个BIOS的信号,用于表示当前选择启动的BIOS信息。
其中,所述启动另一个BIOS,具体包括:在设置启动超时状态标识并且启动超时计数器的值不等于初始值+2时,所述可编程逻辑器件启动系统复位延时计时器,同时使系统处于复位状态;当系统复位延时计时器的值与预先设定的复位延时计时器溢出值相同时,将系统复位延时计时器的值恢复为初始值,并释放系统复位信号,从而激活另一个BIOS。
优选的,所述启动另一个BIOS之后,还包括:所述可编程逻辑器件根据南桥模块发出的当前BIOS的启动信息,判断当前启动的另一个BIOS是否成功启动,如果启动成功,则将启动超时计数器的值恢复为初始值。
优选的,所述方法还包括:如果启动不成功,则将启动超时计数器的值再加1,此时所述启动超时计数器的值等于初始值+2,所述可编程逻辑器件启动告警。
优选的,所述方法还包括:所述可编程逻辑器件向南桥模块发出BOOT_CTRL2信号,用于反馈当前成功启动的BIOS信息。
与现有技术相比,本发明具有以下优点:
首先,本发明针对包含南桥模块和北桥模块的系统,利用南桥模块实现系统IO控制,并利用系统自带的可编程逻辑器件实现BIOS的自动切换,从而激活备用BIOS。本发明与采用人工干预来激活备份BIOS的方法相比,能够实现自动切换,无需人工干预,节约了人力资源和成本。同时,利用了单板上现有的硬件资源(南桥模块和可编程逻辑器件),不需要额外增加电路,因此节约了单板的PCB(Printed Circuit Board,印刷电路板)资源和成本。
其次,本发明提供了告警处理,方便操作者对启动故障进行快速定位,进一步提高了系统的稳定性和可靠性。
附图说明
图1是现有技术中通过外部控制逻辑模块来激活备份BIOS的示意图;
图2是本发明实施例所述一种BIOS切换装置的结构图;
图3A、3B、3C是本发明实施例所述一种BIOS切换方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了克服现有技术的缺点,本发明在基于X86系统架构开发的单板上设计了系统BIOS的备份。当主用BIOS出现故障,在预定时间内引导失败时,利用单板上的板控CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)或FPGA(Field Programmable Gate Array,现场可编程门阵列)自动激活备用BIOS,完成单板系统的初始化,并将这一情况通知上层软件,由上层对主用BIOS进行更新。若备用BIOS同样受到破坏,虽然CPLD(或FPGA)激活了备用BIOS,但是在预定的时间内,备用BIOS也无法成功引导系统,在这种情况下,CPLD(或FPGA)会自动通知独立于单板主系统的告警处理模块对单板目前的状态进行处理。
本发明采用两个分离的存储设备分别存储主用BIOS和备用BIOS,当主用BIOS存储芯片出现器件损坏或失效时,备用BIOS存储芯片不受影响,相对于使用一个存储设备存储主备BIOS的方法而言,提高了设备的可靠性和安全性。
上述主用BIOS和备用BIOS的切换可以理解为第一BIOS和第二BIOS的切换,即本发明不限定到实施例所述的主备用BIOS的切换。而且,下面实施例中可编程逻辑器件将以CPLD为例进行说明。参照图2,示出了本发明实施例所述一种BIOS切换装置。
对于X86体系架构,一般采用中央处理器+北桥+南桥(或南北桥合一)的组成结构,BIOS flash芯片通常连接到南桥的IO总线上,如LPC(Low Pin Count,低引脚数)接口。RNC(Radio Network Controller,无线网络控制器)中的多数单板上需要使用板控的CPLD(或FPGA)对整板进行初始化配置和控制管理。本发明正是利用CPLD与南桥进行通信,进而控制主备BIOS的自动切换以及系统复位和上报告警。
所述装置主要包括:主用BIOSU21、备用BIOSU22、南桥模块U23和CPLDU24。其中:
主用BIOS和备用BIOS通过IO总线分别与南桥模块连接,实施例中以复接方式连接到所述南桥模块。同时,主用BIOS和备用BIOS的ID[0]管脚分别与CPLD的两个IO管脚连接,用于接收CPLD的信号,其信号定义为FLS_ID0和FLS_ID1,表示当前选择启动的BIOS信息。
南桥模块利用两个GPIO(General Purpose Input Output,通用目的输入输出)管脚与CPLD的IO管脚连接,用于和CPLD进行信号交互。信号定义为BOOT_CTRL1和BOOT_CTRL2,其中BOOT_CTRL1用于BIOS通过南桥模块向CPLD提供当前BIOS的启动信息,BOOT_CTRL2用于接收CPLD的反馈信息,便于上层软件查询,所述反馈信息指明了当前成功启动的BIOS是主用的还是备用的。
CPLD利用自身的CLK时钟管脚接收外部时钟信号,根据接收到的外部时钟信号设置内部计时器,并根据启动信息以及内部计时器的状态,判断主用BIOS是否成功启动,如果启动不成功,则进行BIOS切换,CPLD发出系统复位信号,同时启动备用BIOS。
优选的,该实施例还包括告警处理模块U25,用于在启动备用BIOS不成功时,接收CPLD的IO管脚输出的告警状态信号BOOT_ALERT,进行告警处理。
需要说明的是,由于连接到南桥模块的flash芯片的地址和数据线复用且数量少,所以它提供了ID输入选择信号用于区分同一总线上的多个flash芯片,可连接的芯片数量由ID信号的数量决定,例如当ID信号数量为4时,可连接的芯片数量为24=16个。以此为例,当IO总线上存在多个BIOS flash芯片时,系统一般默认从ID[3..0]=0000的芯片读取BIOS代码。因此,在只有主备两个BIOS存储芯片时,ID[3..1]无需控制,设置为0即可。CPLD只要控制ID[0]信号的电平就可以实现BIOS的切换,在默认情况下,主用BIOS的ID[0]为0,备用BIOS的ID[0]为1,即上述FLS_ID0信号和FLS_ID1信号默认为0和1。
表1
注:(1)初始电平可以是低电平“0”,也可以是高电平“1”,由使用者自定义。
(2)上表中“X”表示这种判断条件不存在,不关心相关状态。
(3)当主用BIOS启动成功后,不再进行第二次引导。
(4)电平变化表示CPLD向告警模块输出告警信息。
表1所示为信号的逻辑关系及BIOS状态简表。本实施例设置初始电平为低电平“0”。
对于第一次引导:
在内部计时器未超时的情况下,BOOT_CTRL1信号的电平发生变化时,Flash ID(即FLS_ID0信号和FLS_ID1信号)不进行切换控制,系统不进行复位控制,BOOT_CTRL2信号的电平保持初始不变,主用BIOS启动成功,不再进行第二次引导;否则主用BIOS为启动未完成。
在内部计时器超时的情况下,BOOT_CTRL1信号的电平不变时,FlashID(即FLS_ID0信号和FLS_ID1信号)进行切换控制,系统进行复位控制,BOOT_CTRL2信号的电平改变,主用BIOS启动失败,进入第二次引导,启动备用BIOS。
对于第二次引导:
在内部计时器未超时的情况下,BOOT_CTRL1信号的电平发生变化时,Flash ID进行切换控制(为了保证在下一次热复位后,单板仍然首先选择主用BIOS引导系统),系统不进行复位控制,BOOT_CTRL2信号的电平保持变化后的状态,备用BIOS启动成功;否则备用BIOS未启动成功。
在内部计时器超时的情况下,BOOT_CTRL1信号的电平不变时,FlashID进行切换控制,系统不进行复位控制,BOOT_CTRL2信号的电平改变,备用BIOS启动失败,CPLD向告警模块输出告警信息。
上述BIOS切换装置,能够实现自动切换,无需人工干预,节约了人力资源和成本。同时,由于利用了CPLD与南桥进行通信,进而控制主备BIOS的自动切换以及系统复位和上报告警,即利用了单板上现有的硬件资源,不需要额外增加电路,因此节约了单板的PCB资源和成本。而且,还提供了告警处理,方便操作者对启动故障进行快速定位,进一步提高了系统的稳定性和可靠性。
此外,本发明也适用于具有类似南桥模块功能的系统中,该系统中能够实现对BIOS的IO控制,以及通过可编程逻辑器件控制BIOS切换即可。
下面结合附图详细阐述本发明实施例的一种BIOS切换的方法。
在本实施例中,单板系统在引导时有三种情况:
(1)主用BIOS未被破坏,单板系统由主用BIOS引导;
(2)主用BIOS被破坏而备用BIOS完好,备用BIOS被激活,单板系统由备用BIOS引导;
(3)主备用BIOS均被破坏,单板系统引导失败,上报告警信息。
在单板上电复位和热复位期间,需要设置以下参数的初始值,如“0”:
(1)内部计时器初始值;
(2)启动超时状态标识;
(3)启动成功状态标识;
(4)BOOT_CTRL2初始值;
(5)启动告警状态初始值。
其中,参数FLS_ID0、启动超时计数器初始值和系统复位延时计时器初始值在上电复位期间需要设置初始值,而热复位期间保持参数值不变。
上述单板上电复位也称为冷复位,是指系统从没加电到加上电源而自动产生的复位;上述热复位是指在已经通电的情况下,给系统一个复位信号,称为热复位。
如图3所示,为一种BIOS切换方法的具体流程图,其包括:
参照图3A,对应情况(1):主用BIOS未被破坏,单板系统由主用BIOS引导。具体流程如下:
步骤A1:启动主用BIOS,主用BIOS通过南桥模块向CPLD发出主用BIOS的启动信息。本实施例中,单板上电复位后,系统默认从主用BIOS引导,FLS_ID0信号和FLS_ID1信号分别为CPLD发给主备用BIOS的信号,用于表示当前选择启动的BIOS信息,此时FLS_ID0=0,FLS_ID1=1。
步骤A2:启动内部计时器。首先设置内部计时器初始值,然后根据预定的时间、内部计时器初始值和输入CPLD的时钟频率(即外部时钟频率)计算出计时器的溢出值,并启动内部计时器。溢出值的计算公式为:溢出值=内部计时器初始值+预定时间/(1/输入时钟频率)。
步骤A3:CPLD根据启动信息,判断主用BIOS是否成功启动,如果启动成功,则执行步骤A4,否则,执行步骤B1(B1为图3B的步骤)。
判断主用BIOS是否成功启动,具体包括:南桥模块发出BOOT_CTRL1信号的启动信息;CPLD根据所述BOOT_CTRL1信号的电平判断当前BIOS是否成功启动。初始电平表示未引导完成,本实施例中为低电平,电平变化表示引导完成,本实施例中变为高电平。当BOOT_CTRL1信号的电平为初始电平时,内部计时器值在时钟的上升沿(或下降沿)时进行累加,随后再与溢出值进行比较。如表1所示,如果BOOT_CTRL1信号的电平在预定的时间段内发生变化,则当前BIOS启动成功;否则,启动不成功。
步骤A4:关闭内部计时器,设置相关状态标识,主用BIOS继续引导系统。
本实施例中当内部计时器值没有溢出且BOOT_CTRL1发生了电平变化时,表示主用BIOS已经在预定的时间内引导成功,此时关闭内部计时器,设置启动成功状态标识,如“0”,并将启动超时计数器值恢复为初始值。FLS_ID0的值保持不变,同时BOOT_CTRL2的初始电平也保持不变,这表示目前成功引导系统的是主用BIOS,如表1所示。
参照图3B,对应情况(2):主用BIOS被破坏而备用BIOS完好,备用BIOS被激活,单板系统由备用BIOS引导。具体流程如下:
步骤B1:启动备用BIOS,设置启动超时状态标识,切换BIOS flash ID,一定延时后进行系统复位,单板进行热复位,备用BIOS被激活,系统开始从备用BIOS进行引导。
本实施例中,当主用BIOS被破坏后,在预定的时间内单板系统无法从主用BIOS引导,在启动超时条件满足时,设置启动超时状态标识,如“1”,并将启动超时计数器加1。接着进行BIOS flash ID的切换,此时设置FLS_ID0=1,FLS_ID1=0,这样备用BIOS的ID[0]就被切换为系统默认的flashID。当启动超时并且启动超时计数器值不等于初始值+2时(参照步骤C1),CPLD启动系统复位延时计时器,同时设置系统复位信号,如“0”,使整个系统处于复位状态。当系统复位延时计时器的当前值与预先设定的系统复位延时计时器的溢出值相同时,将系统复位延时计时器的值恢复为初始值,并释放系统复位信号。系统复位延时计时器的溢出值的计算公式为:溢出值=系统复位延时计时器初始值+预定时间/(1/输入时钟频率)。
步骤B2:启动内部计时器,同步骤A2。
步骤B3:CPLD根据启动信息,判断备用BIOS是否成功启动,如果启动成功,则执行步骤B4,否则,执行步骤C(C为图3C的步骤)。
判断备用BIOS是否成功启动,具体包括:南桥模块发出BOOT_CTRL1信号的启动信息;CPLD根据所述BOOT_CTRL1信号的电平判断备用BIOS是否成功启动。如果BOOT_CTRL1信号的电平在预定的时间段内发生变化,则备用BIOS启动成功;否则,启动不成功,如表1所示。
步骤B4:关闭内部计时器,设置相关状态标识,备用BIOS引导系统。
本实施例中单板热复位后,BOOT_CTRL1恢复到默认的初始值,当内部计时器值没有溢出且BOOT_CTRL1发生电平变化时,表示备用BIOS已经在预定的时间内引导成功,此时停止计时,设置启动成功状态标识,如“1”,并将启动超时计数器值恢复为初始值。此时FLS_ID0的值为1,需要重新设置为0,这样是为了保证在下一次热复位后,单板仍然首先选择主用BIOS引导系统。同时控制BOOT_CTRL2信号的电平发生变化,表示目前成功引导系统的是备用BIOS,CPLD向南桥模块发出BOOT_CTRL2信号,反馈备用BIOS启动成功。当上层软件查询到上述情况时,可以判断出主用BIOS被破坏,并对主用BIOS进行更新。
参照图3C,对应情况(3):主备用BIOS均被破坏,单板系统引导失败,上报告警信息。具体流程如下:
步骤C1:当备用BIOS也被破坏后,在预定的时间内单板系统也无法从备用BIOS引导,在启动超时条件满足时,设置启动超时状态标识,如“1”,并将启动超时计数器加1,此时该计数器的值等于初始值+2,满足禁止进行系统复位的条件,CPLD不再设置系统复位信号,系统处于无法正常启动的状态。
步骤C2:CPLD输出告警信息给单板告警模块,控制BOOT_ALERT信号的电平发生变化,当告警模块监测到该管脚的电平变化时,则进行相应的告警处理。
综上所述,本发明实施例提供的一种BIOS切换装置及切换方法,采用两个分离的存储设备分别存储主用BIOS和备用BIOS,当主用BIOS存储芯片出现器件损坏或失效时,备用BIOS存储芯片不受影响。与采用人工干预来激活备份BIOS的方法相比,实现了自动切换,减少了人力资源的利用,相对于使用一个存储设备存储主备BIOS的方法而言,提高了设备的可靠性和安全性。而且,利用了单板上现有的硬件资源,不需要额外增加电路,因此节约了单板的PCB资源和成本。
以上对本发明所提供的一种BIOS切换装置及切换方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种BIOS切换装置,其特征在于,包括:
第一BIOS、第二BIOS、南桥模块和可编程逻辑器件,其中,第一BIOS和第二BIOS分别与南桥模块连接,并分别与可编程逻辑器件连接,南桥模块与可编程逻辑器件连接;
所述南桥模块用于向可编程逻辑器件提供当前BIOS的启动信息;
所述可编程逻辑器件用于根据所述启动信息,判断当前BIOS是否成功启动,如果启动不成功,则进行BIOS切换,启动另一个BIOS。
2.根据权利要求1所述的装置,其特征在于,所述第一BIOS和第二BIOS分别与可编程逻辑器件连接,具体包括:
所述第一BIOS和第二BIOS分别利用输入管脚与可编程逻辑器件的两个IO管脚连接,信号定义为FLS_ID0和FLS_ID1,用于表示当前选择启动的BIOS信息。
3.根据权利要求1所述的装置,其特征在于,所述南桥模块与可编程逻辑器件连接,具体包括:
所述南桥模块利用两个输入输出管脚与可编程逻辑器件的两个IO管脚连接,信号定义为BOOT_CTRL1和BOOT_CTRL2,其中BOOT_CTRL1信号用于南桥模块向可编程逻辑器件提供当前BIOS的启动信息,BOOT_CTRL2信号用于接收可编程逻辑器件反馈的表明当前成功启动的BIOS信息。
4.根据权利要求1所述的装置,其特征在于:
所述可编程逻辑器件还用于接收外部时钟信号来设置内部计时器,并根据所述启动信息以及内部计时器的状态,判断当前BIOS是否成功启动。
5.根据权利要求1所述的装置,其特征在于:
所述可编程逻辑器件通过发出系统复位信号来启动另一个BIOS。
6.根据权利要求1所述的装置,其特征在于,还包括:
告警处理模块,用于在启动另一个BIOS不成功时,接收可编程逻辑器件输出的告警状态信号,进行告警处理。
7.根据权利要求1所述的装置,其特征在于:
所述可编程逻辑器件为复杂可编程逻辑器件CPLD或现场可编程门阵列FPGA。
8.一种BIOS切换方法,其特征在于,包括:
启动当前BIOS,当前BIOS通过南桥模块向可编程逻辑器件发出当前BIOS的启动信息;
所述可编程逻辑器件根据所述启动信息,判断当前BIOS是否成功启动,如果启动不成功,则进行BIOS切换,启动另一个BIOS。
9.根据权利要求8所述的方法,其特征在于,所述可编程逻辑器件根据所述启动信息,判断当前BIOS是否成功启动,具体包括:
所述启动信息为南桥模块发出的BOOT_CTRL1信号;
所述可编程逻辑器件根据所述BOOT_CTRL1信号的电平判断当前BIOS是否成功启动,如果该信号的电平在预定的时间段内发生变化,则当前BIOS启动成功;否则,启动不成功。
10.根据权利要求9所述的方法,其特征在于,所述判断具体包括:
所述可编程逻辑器件首先预置内部计时器初始值,然后根据内部计时器初始值、预定的时间和输入可编程逻辑器件的时钟频率计算出内部计时器的溢出值;
启动内部计时器,在内部计时器的值未达到所述溢出值的时间段内,如果所述BOOT_CTRL1信号的电平发生变化,则当前BIOS启动成功;否则,启动不成功。
11.根据权利要求8所述的方法,其特征在于,所述BIOS切换具体包括:
设置启动超时状态标识,并将启动超时计数器的值加1,然后重新设置FLS_ID0信号和FLS_ID1信号的值,将另一个BIOS切换为当前BIOS;
其中,所述FLS_ID0信号和FLS_ID1信号分别为可编程逻辑器件发给两个BIOS的信号,用于表示当前选择启动的BIOS信息。
12.根据权利要求11所述的方法,其特征在于,所述启动另一个BIOS,具体包括:
在设置启动超时状态标识并且启动超时计数器的值不等于初始值+2时,所述可编程逻辑器件启动系统复位延时计时器,同时使系统处于复位状态;
当系统复位延时计时器的值与预先设定的复位延时计时器溢出值相同时,将系统复位延时计时器的值恢复为初始值,并释放系统复位信号,从而激活另一个BIOS。
13.根据权利要求11所述的方法,其特征在于,所述启动另一个BIOS之后,还包括:
所述可编程逻辑器件根据南桥模块发出的当前BIOS的启动信息,判断当前启动的另一个BIOS是否成功启动,如果启动成功,则将启动超时计数器的值恢复为初始值。
14.根据权利要求13所述的方法,其特征在于,还包括:
如果启动不成功,则将启动超时计数器的值再加1,此时所述启动超时计数器的值等于初始值+2,所述可编程逻辑器件启动告警。
15.根据权利要求8所述的方法,其特征在于,还包括:
所述可编程逻辑器件向南桥模块发出BOOT_CTRL2信号,用于反馈当前成功启动的BIOS信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910086072A CN101908008B (zh) | 2009-06-03 | 2009-06-03 | 一种bios切换装置及切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910086072A CN101908008B (zh) | 2009-06-03 | 2009-06-03 | 一种bios切换装置及切换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101908008A true CN101908008A (zh) | 2010-12-08 |
CN101908008B CN101908008B (zh) | 2012-09-26 |
Family
ID=43263472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910086072A Active CN101908008B (zh) | 2009-06-03 | 2009-06-03 | 一种bios切换装置及切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101908008B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591767A (zh) * | 2011-12-31 | 2012-07-18 | 曙光信息产业股份有限公司 | 基本输入输出系统bios程序进程的指示装置 |
CN102609080A (zh) * | 2011-01-21 | 2012-07-25 | 技嘉科技股份有限公司 | 输入单元切换装置与其切换方法 |
CN102750206A (zh) * | 2012-05-10 | 2012-10-24 | 加弘科技咨询(上海)有限公司 | 多bios电路及多bios切换的方法 |
CN102981424A (zh) * | 2012-11-27 | 2013-03-20 | 新疆大全新能源有限公司 | 一种输出控制方法、装置及控制系统 |
CN103034511A (zh) * | 2012-11-23 | 2013-04-10 | 华为技术有限公司 | 一种基本输入输出系统间的切换方法及装置 |
CN103077060A (zh) * | 2013-01-10 | 2013-05-01 | 中兴通讯股份有限公司 | 主备用bios的切换方法及装置、系统 |
CN104182289A (zh) * | 2013-05-27 | 2014-12-03 | 英业达科技有限公司 | 系统还原方法 |
CN104572143A (zh) * | 2013-10-15 | 2015-04-29 | 鸿富锦精密工业(武汉)有限公司 | 计算机开机启动侦测系统及方法 |
CN104572181A (zh) * | 2014-12-19 | 2015-04-29 | 大唐移动通信设备有限公司 | 启动备份引导程序的方法和装置 |
CN104750564A (zh) * | 2013-12-27 | 2015-07-01 | 鸿富锦精密工业(武汉)有限公司 | 电脑系统 |
CN105159719A (zh) * | 2015-09-06 | 2015-12-16 | 浙江大华技术股份有限公司 | 一种主备用基本输入输出系统的启动方法及装置 |
CN105320534A (zh) * | 2014-08-01 | 2016-02-10 | 中兴通讯股份有限公司 | 单板的boot远程升级方法、装置及系统 |
CN106528097A (zh) * | 2016-10-21 | 2017-03-22 | 浙江大华技术股份有限公司 | 一种双bios固件的版本同步方法及电子设备 |
CN106874798A (zh) * | 2017-02-15 | 2017-06-20 | 湖南长城银河科技有限公司 | 一种计算机系统及计算机 |
CN107220052A (zh) * | 2017-05-25 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种基本输入输出系统的应用方法及装置 |
CN107480011A (zh) * | 2017-08-23 | 2017-12-15 | 英业达科技有限公司 | Bios切换装置 |
CN107844330A (zh) * | 2017-10-25 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种增强arm服务器启动代码可靠性的方法与系统 |
CN108089939A (zh) * | 2018-01-12 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种实现双镜像冗余方法、系统、设备及可读存储设备 |
CN108227607A (zh) * | 2016-12-14 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种简化电路板配置电路的方法 |
CN109634675A (zh) * | 2018-12-10 | 2019-04-16 | 广东浪潮大数据研究有限公司 | 一种bios的冗余方法、冗余系统及相关装置 |
CN110321147A (zh) * | 2019-07-03 | 2019-10-11 | 浙江大华技术股份有限公司 | 基本输入输出系统更新装置 |
CN112084064A (zh) * | 2020-08-05 | 2020-12-15 | 锐捷网络股份有限公司 | 主从bios切换方法、板卡及设备 |
CN113032788A (zh) * | 2021-03-24 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种计算机系统中的固件镜像切换方法、装置及介质 |
CN113032026A (zh) * | 2021-03-19 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种服务器主板的固件管理方法、装置、设备及介质 |
CN114528557A (zh) * | 2022-02-28 | 2022-05-24 | 合肥中科爱观电子技术有限公司 | 一种嵌入式soc芯片自适应启动方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327531A (en) * | 1992-09-21 | 1994-07-05 | International Business Machines Corp. | Data processing system including corrupt flash ROM recovery |
CN2369275Y (zh) * | 1999-04-20 | 2000-03-15 | 技嘉科技股份有限公司 | 主机板的基本输入输出系统备用装置 |
CN100369001C (zh) * | 2005-08-15 | 2008-02-13 | 英业达股份有限公司 | 主要及备份基本输出入系统的选择装置 |
-
2009
- 2009-06-03 CN CN200910086072A patent/CN101908008B/zh active Active
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609080A (zh) * | 2011-01-21 | 2012-07-25 | 技嘉科技股份有限公司 | 输入单元切换装置与其切换方法 |
CN102609080B (zh) * | 2011-01-21 | 2016-09-07 | 技嘉科技股份有限公司 | 输入单元切换装置与其切换方法 |
CN102591767A (zh) * | 2011-12-31 | 2012-07-18 | 曙光信息产业股份有限公司 | 基本输入输出系统bios程序进程的指示装置 |
CN102591767B (zh) * | 2011-12-31 | 2015-11-25 | 曙光信息产业股份有限公司 | 基本输入输出系统bios程序进程的指示装置 |
CN102750206A (zh) * | 2012-05-10 | 2012-10-24 | 加弘科技咨询(上海)有限公司 | 多bios电路及多bios切换的方法 |
CN103034511A (zh) * | 2012-11-23 | 2013-04-10 | 华为技术有限公司 | 一种基本输入输出系统间的切换方法及装置 |
CN103034511B (zh) * | 2012-11-23 | 2016-02-24 | 华为技术有限公司 | 一种基本输入输出系统间的切换方法及装置 |
CN102981424A (zh) * | 2012-11-27 | 2013-03-20 | 新疆大全新能源有限公司 | 一种输出控制方法、装置及控制系统 |
CN103077060A (zh) * | 2013-01-10 | 2013-05-01 | 中兴通讯股份有限公司 | 主备用bios的切换方法及装置、系统 |
CN104182289A (zh) * | 2013-05-27 | 2014-12-03 | 英业达科技有限公司 | 系统还原方法 |
CN104572143A (zh) * | 2013-10-15 | 2015-04-29 | 鸿富锦精密工业(武汉)有限公司 | 计算机开机启动侦测系统及方法 |
CN104750564A (zh) * | 2013-12-27 | 2015-07-01 | 鸿富锦精密工业(武汉)有限公司 | 电脑系统 |
CN105320534A (zh) * | 2014-08-01 | 2016-02-10 | 中兴通讯股份有限公司 | 单板的boot远程升级方法、装置及系统 |
CN105320534B (zh) * | 2014-08-01 | 2020-06-09 | 中兴通讯股份有限公司 | 单板的boot远程升级方法、装置及系统 |
CN104572181A (zh) * | 2014-12-19 | 2015-04-29 | 大唐移动通信设备有限公司 | 启动备份引导程序的方法和装置 |
CN105159719A (zh) * | 2015-09-06 | 2015-12-16 | 浙江大华技术股份有限公司 | 一种主备用基本输入输出系统的启动方法及装置 |
CN106528097B (zh) * | 2016-10-21 | 2019-11-19 | 浙江大华技术股份有限公司 | 一种双bios固件的版本同步方法及电子设备 |
CN106528097A (zh) * | 2016-10-21 | 2017-03-22 | 浙江大华技术股份有限公司 | 一种双bios固件的版本同步方法及电子设备 |
CN108227607A (zh) * | 2016-12-14 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种简化电路板配置电路的方法 |
CN108227607B (zh) * | 2016-12-14 | 2020-06-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种简化电路板配置电路的方法 |
CN106874798A (zh) * | 2017-02-15 | 2017-06-20 | 湖南长城银河科技有限公司 | 一种计算机系统及计算机 |
CN107220052A (zh) * | 2017-05-25 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种基本输入输出系统的应用方法及装置 |
CN107480011A (zh) * | 2017-08-23 | 2017-12-15 | 英业达科技有限公司 | Bios切换装置 |
CN107480011B (zh) * | 2017-08-23 | 2020-11-06 | 英业达科技有限公司 | Bios切换装置 |
CN107844330A (zh) * | 2017-10-25 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种增强arm服务器启动代码可靠性的方法与系统 |
CN108089939A (zh) * | 2018-01-12 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种实现双镜像冗余方法、系统、设备及可读存储设备 |
CN109634675A (zh) * | 2018-12-10 | 2019-04-16 | 广东浪潮大数据研究有限公司 | 一种bios的冗余方法、冗余系统及相关装置 |
CN110321147A (zh) * | 2019-07-03 | 2019-10-11 | 浙江大华技术股份有限公司 | 基本输入输出系统更新装置 |
CN112084064A (zh) * | 2020-08-05 | 2020-12-15 | 锐捷网络股份有限公司 | 主从bios切换方法、板卡及设备 |
CN112084064B (zh) * | 2020-08-05 | 2023-03-31 | 锐捷网络股份有限公司 | 主从bios切换方法、板卡及设备 |
CN113032026A (zh) * | 2021-03-19 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种服务器主板的固件管理方法、装置、设备及介质 |
CN113032788A (zh) * | 2021-03-24 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种计算机系统中的固件镜像切换方法、装置及介质 |
CN114528557A (zh) * | 2022-02-28 | 2022-05-24 | 合肥中科爱观电子技术有限公司 | 一种嵌入式soc芯片自适应启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101908008B (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101908008B (zh) | 一种bios切换装置及切换方法 | |
CN105700970A (zh) | 服务器系统 | |
CN101271332B (zh) | 紧凑型一体化冗余控制器及其控制方法 | |
CN203786723U (zh) | 基于x86 pc/104嵌入式cpu模块的双机冗余系统 | |
CN106528097B (zh) | 一种双bios固件的版本同步方法及电子设备 | |
CN100458753C (zh) | 多硬盘系统中硬盘热拔插系统及方法 | |
CN101882097A (zh) | 一种主控板、嵌入式系统及嵌入式系统的备份方法 | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
CN101276297A (zh) | 一种处理器系统、设备及故障处理方法 | |
CN101329632A (zh) | 一种使用boot启动cpu的方法与装置 | |
JP2001298875A (ja) | バックアップ電源モジュール、バックアップ電源装置及びコンピュータ | |
CN112905376B (zh) | 一种错误上报的方法、装置及介质 | |
US7194614B2 (en) | Boot swap method for multiple processor computer systems | |
CN103077060A (zh) | 主备用bios的切换方法及装置、系统 | |
CN100478935C (zh) | Pcie通道扩展装置、系统及其配置方法 | |
JP2023035930A (ja) | コンピュータシステム及びコンピュータシステムのブート方法 | |
US20240220385A1 (en) | Power source consumption management apparatus for four-way server | |
CN101989927A (zh) | 一种冗余倒换的处理方法、装置及设备 | |
CN111381656A (zh) | 信息处理系统和中继设备 | |
CN102081526B (zh) | 基本输入/输出系统架构 | |
CN102508676A (zh) | 嵌入式系统启动方法及装置 | |
CN101770434B (zh) | 一种pci设备中不同功能单元切换的方法及系统 | |
CN101799778A (zh) | 具有自动重置的计算机装置及自动重置方法 | |
CN103034511B (zh) | 一种基本输入输出系统间的切换方法及装置 | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |