CN115658418A - 一种实时bios固件监测方法及监测系统 - Google Patents
一种实时bios固件监测方法及监测系统 Download PDFInfo
- Publication number
- CN115658418A CN115658418A CN202211102460.6A CN202211102460A CN115658418A CN 115658418 A CN115658418 A CN 115658418A CN 202211102460 A CN202211102460 A CN 202211102460A CN 115658418 A CN115658418 A CN 115658418A
- Authority
- CN
- China
- Prior art keywords
- cpu
- fpga
- bios
- firmware
- monitoring
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实时BIOS固件监测方法及监测系统,包括:采用FPGA对CPU上电启动信号进行实时监测:FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号,并通过SPI协议进行转换,与FPGA内部存储的正确BIOS固件进行对比;若对比一致,则BIOS芯片内固件信息正确;否则BIOS芯片内固件信息不正确。当BIOS芯片内固件信息正确,则CPU正常启动;当BIOS芯片内固件信息不正确,则CPU异常启动,这时复位CPU,阻止BIOS继续通信,进行声光报警。本发明实现BIOS固件启动的实时监测,增加系统的安全性及稳定性;还实现BIOS固件启动信息的故障记录,增强系统的故障分析能力。
Description
技术领域
本发明涉及BIOS固件监测技术领域,具体涉及一种实时BIOS固件监测方法及监测系统。
背景技术
现有的BIOS固件监测电路多为上电前进行度量,对BIOS固件进行一致性检查正确后进行上电。在启动过程中无法对BIOS固件进行实时监测,并且在度量完成后无法记录异常信息。
发明内容
本发明所要解决的技术问题是现有的BIOS固件监测是上电前进行度量,对BIOS固件进行一致性检查正确后进行上电;而无法对上电过程中BIOS程序是否正确进行实时监测,系统的安全性及可靠性不高;且度量完成后无法记录异常信息。本发明目的在于提供一种实时BIOS固件监测方法及监测系统,实现了BIOS固件启动的实时监测,增加了系统的安全性及稳定性;同时,实现了BIOS固件启动信息的故障记录,增强了系统的故障分析能力。
本发明通过下述技术方案实现:
第一方面,本发明提供了一种实时BIOS固件监测方法,该方法包括:
采用基于FPGA的监测电路,对CPU上电启动信号进行实时监测;
当BIOS芯片内固件信息正确,即监测正常时,则CPU正常启动;
当BIOS芯片内固件信息不正确,即监测异常时,则CPU异常启动,这时复位CPU,且阻止BIOS继续通信,并进行声光报警。
进一步地,该方法还包括采用基于FPGA的监测电路对BIOS芯片进行上电前度量;所述对BIOS芯片进行上电前度量是在对CPU上电启动信号进行实时监测之前。
进一步地,采用基于FPGA的监测电路对BIOS芯片进行上电前度量,具体包括:
基于FPGA的监测电路上电,将CPU置于复位状态,进行基于FPGA的监测电路的FPGA内部配置;
待配置完成后,对BIOS芯片进行上电前度量,包括:
FPGA通过SPI总线读取BIOS芯片内固件的二进制代码,并与FPGA内预存的正确固件二进制代码进行比对;
若对比一致,则FPGA释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;
若对比不一致,则FPGA不释放CPU复位引脚。
进一步地,所述基于FPGA的监测电路的上电时间先于CPU的上电时间。
进一步地,采用基于FPGA的监测电路,对CPU上电启动信号进行实时监测,包括:
FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号波形;
并在FPGA内部通过预存的SPI协议对采集到的SPI信号波形进行实时解析,分析出CPU实时读取的BIOS芯片内固件的二进制代码;
将CPU实时读取的BIOS芯片内固件的二进制代码与FPGA内部存储的正确BIOS固件二进制代码进行对比检查;若对比一致,则BIOS芯片内固件信息正确;若对比不一致,则BIOS芯片内固件信息不正确。
进一步地,当BIOS芯片内固件信息不正确,即监测异常时,则复位CPU,且阻止BIOS继续通信,并进行声光报警,包括:
当BIOS芯片内固件信息不正确,即监测异常时,则FPGA将BIOS芯片的片选信号调整为拉高信号,阻止BIOS芯片继续通信;
同时FPGA将CPU复位信号调整为拉低信号,使CPU处于复位状态,并通过声光报警进行提示。
进一步地,该方法还包括:
采用基于FPGA的监测电路,将启动异常的数据信息存储至FPGA外置的串口闪存SPI FLASH中,形成日志信息;通过所述日志信息进行后续故障定位及分析。
第二方面,本发明又提供了使用所述的一种实时BIOS固件监测方法实现的监测系统,该检测系统包括FPGA电路、CPU和BIOS芯片,所述FPGA电路一端通过SPI片选信号连接CPU,所述FPGA电路另一端通过SPI片选信号连接BIOS芯片;CPU与BIOS之间通过SPI通信信号进行通信;
所述FPGA电路,用于对BIOS芯片进行上电前度量,度量正确后,释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;及对CPU上电启动信号进行实时监测,当BIOS芯片内固件信息正确,即监测正常时,则CPU正常启动;当BIOS芯片内固件信息不正确,即监测异常时,则CPU异常启动,这时复位CPU,且阻止BIOS继续通信,并通过与FPGA电路连接的声光报警器进行声光报警。
进一步地,对CPU上电启动信号进行实时监测,具体过程为:
FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号波形;
并在FPGA内部通过预存的SPI协议对采集到的SPI信号波形进行实时解析,分析出CPU实时读取的BIOS芯片内固件的二进制代码;
将CPU实时读取的BIOS芯片内固件的二进制代码与FPGA内部存储的正确BIOS固件二进制代码进行对比检查;若对比一致,则BIOS芯片内固件信息正确;若对比不一致,则BIOS芯片内固件信息不正确。
进一步地,该检测系统还包括串口闪存SPI FLASH,所述串口闪存SPI FLASH通过SPI通信信号与FPGA电路连接,所述串口闪存SPI FLASH,用于存储启动异常的数据信息,形成日志信息;通过所述日志信息进行后续故障定位及分析。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明一种实时BIOS固件监测方法及监测系统,采用基于FPGA的监测电路,通过FPGA的IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号,并通过SPI协议进行转换,与FPGA内部存储的正确BIOS固件进行对比检查。实现了固件启动的实时监测,增加了系统的安全性及可靠性。
2、本发明一种实时BIOS固件监测方法及监测系统,可将监测得到的启动异常数据信息存储进FPGA外置的串口闪存SPI FLASH中,形成日志信息,用于后续故障定位及分析,增强了系统的故障分析能力。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明一种实时BIOS固件监测方法流程图。
图2为本发明一种实时BIOS固件监测方法实现的监测系统结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
现有的BIOS固件监测是上电前进行度量,对BIOS固件进行一致性检查正确后进行上电;而无法对上电过程中BIOS程序是否正确进行实时监测,系统的安全性及可靠性不高;且度量完成后无法记录异常信息。本发明目的在于提供一种实时BIOS固件监测方法及监测系统,实现了BIOS固件启动的实时监测,增加了系统的安全性及稳定性;同时,实现了BIOS固件启动信息的故障记录,增强了系统的故障分析能力。本发明的创新点主要在于:
1、本发明采用基于FPGA的监测电路,通过FPGA的IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号,并通过SPI协议进行转换,与FPGA内部存储的正确BIOS固件进行对比检查。实现了固件启动的实时监测,增加了系统的安全性及可靠性。
2、本发明可将监测得到的启动异常数据信息存储进FPGA外置的串口闪存SPIFLASH中,形成日志信息,用于后续故障定位及分析,增强了系统的故障分析能力。
如图1所示,本发明一种实时BIOS固件监测方法,需要特别说明的是,上电时,基于FPGA的监测电路先于CPU上电;该方法的实施如下:
步骤1,基于FPGA的监测电路上电,采用基于FPGA的监测电路对BIOS芯片进行上电前度量,包括:
将CPU置于复位状态,进行基于FPGA的监测电路的FPGA内部配置;
待配置完成后,对BIOS芯片进行上电前度量,包括:
FPGA通过SPI总线读取BIOS芯片内固件的二进制代码,并与FPGA内预存的正确固件二进制代码进行比对;
若对比一致(比如都为0或者都为1),则FPGA释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;
若对比不一致(比如一个是0,另一个是1),则FPGA不释放CPU复位引脚。
步骤2,对BIOS芯片进行上电前度量正确后,则FPGA释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;同时,采用基于FPGA的监测电路,对CPU上电启动信号进行实时监测;
当BIOS芯片内固件信息正确,即监测正常时,则CPU正常启动;
当BIOS芯片内固件信息不正确,即监测异常时,则CPU异常启动,这时复位CPU,且阻止BIOS继续通信,并进行声光报警。
步骤2中采用基于FPGA的监测电路,对CPU上电启动信号进行实时监测,包括:
FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号波形;
并在FPGA内部通过预存的SPI协议对采集到的SPI信号波形进行实时解析,分析出CPU实时读取的BIOS芯片内固件的二进制代码;
将CPU实时读取的BIOS芯片内固件的二进制代码与FPGA内部存储的正确BIOS固件二进制代码进行对比检查;若对比一致(比如都为0或者都为1),则BIOS芯片内固件信息正确;若对比不一致(比如一个是0,另一个是1),则BIOS芯片内固件信息不正确。
步骤2中当BIOS芯片内固件信息不正确,即监测异常时,则复位CPU,且阻止BIOS继续通信,并进行声光报警,包括:
当BIOS芯片内固件信息不正确,即监测异常时,则FPGA将BIOS芯片的片选信号调整为拉高信号,阻止BIOS芯片继续通信;
同时FPGA将CPU复位信号调整为拉低信号,使CPU处于复位状态,并通过声光报警进行提示。
作为进一步地实施,该方法还包括:
步骤3,采用基于FPGA的监测电路,将启动异常的数据信息存储至FPGA外置的串口闪存SPI FLASH中,形成日志信息;通过所述日志信息进行后续故障定位及分析。
图1中,CPU与BIOS芯片之间通过SPI通信信号进行通信连接,其中SPI通信信号包括SPI_SDI,SPI_SCK和SPI_SDO;SPI_SDI为CPU读BIOS的信号,SPI_SCK为时钟信号,SPI_SDO为BIOS返回CPU的反馈信号。在CPU通过SPI通信信号读BIOS芯片的固件信息的同时,FPGA通过片选信号SPI_CS#读BIOS;RST为FPGA对CPU的复位信号。
本发明实现了BIOS固件启动的实时监测,增加了系统的安全性及稳定性;同时实现了BIOS固件启动信息的故障记录,增强了系统的故障分析能力。
实施例2
如图2所示,本实施例与实施例1的区别在于,本实施例提供了使用实施例1所述的一种实时BIOS固件监测方法实现的监测系统,该检测系统包括FPGA电路、CPU和BIOS芯片,所述FPGA电路一端通过SPI片选信号连接CPU,所述FPGA电路另一端通过SPI片选信号连接BIOS芯片;CPU与BIOS之间通过SPI通信信号进行通信;
所述FPGA电路,用于对BIOS芯片进行上电前度量,度量正确后,释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;及对CPU上电启动信号进行实时监测,当BIOS芯片内固件信息正确,即监测正常时,则CPU正常启动;当BIOS芯片内固件信息不正确,即监测异常时,则CPU异常启动,这时复位CPU,且阻止BIOS继续通信,并通过与FPGA电路连接的声光报警器进行声光报警。
作为进一步地实施,对CPU上电启动信号进行实时监测,具体过程为:
FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号波形;
并在FPGA内部通过预存的SPI协议对采集到的SPI信号波形进行实时解析,分析出CPU实时读取的BIOS芯片内固件的二进制代码;
将CPU实时读取的BIOS芯片内固件的二进制代码与FPGA内部存储的正确BIOS固件二进制代码进行对比检查;若对比一致,则BIOS芯片内固件信息正确;若对比不一致,则BIOS芯片内固件信息不正确。
作为进一步地实施,该检测系统还包括串口闪存SPI FLASH,所述串口闪存SPIFLASH通过SPI通信信号与FPGA电路连接,所述串口闪存SPI FLASH,用于存储启动异常的数据信息,形成日志信息;通过所述日志信息进行后续故障定位及分析。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种实时BIOS固件监测方法,其特征在于,该方法包括:
采用基于FPGA的监测电路,对CPU上电启动信号进行实时监测;
当BIOS芯片内固件信息正确,即监测正常时,则CPU正常启动;
当BIOS芯片内固件信息不正确,即监测异常时,则CPU异常启动,这时复位CPU,且阻止BIOS继续通信,并进行声光报警。
2.根据权利要求1所述的一种实时BIOS固件监测方法,其特征在于,该方法还包括采用基于FPGA的监测电路对BIOS芯片进行上电前度量;所述对BIOS芯片进行上电前度量是在对CPU上电启动信号进行实时监测之前。
3.根据权利要求2所述的一种实时BIOS固件监测方法,其特征在于,采用基于FPGA的监测电路对BIOS芯片进行上电前度量,具体包括:
基于FPGA的监测电路上电,将CPU置于复位状态,进行基于FPGA的监测电路的FPGA内部配置;
待配置完成后,对BIOS芯片进行上电前度量,包括:
FPGA通过SPI总线读取BIOS芯片内固件的二进制代码,并与FPGA内预存的正确固件二进制代码进行比对;
若对比一致,则FPGA释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;
若对比不一致,则FPGA不释放CPU复位引脚。
4.根据权利要求1所述的一种实时BIOS固件监测方法,其特征在于,所述基于FPGA的监测电路的上电时间先于CPU的上电时间。
5.根据权利要求1所述的一种实时BIOS固件监测方法,其特征在于,采用基于FPGA的监测电路,对CPU上电启动信号进行实时监测,包括:
FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号波形;
并在FPGA内部通过预存的SPI协议对采集到的SPI信号波形进行实时解析,分析出CPU实时读取的BIOS芯片内固件的二进制代码;
将CPU实时读取的BIOS芯片内固件的二进制代码与FPGA内部存储的正确BIOS固件二进制代码进行对比检查;若对比一致,则BIOS芯片内固件信息正确;若对比不一致,则BIOS芯片内固件信息不正确。
6.根据权利要求1所述的一种实时BIOS固件监测方法,其特征在于,当BIOS芯片内固件信息不正确,即监测异常时,则复位CPU,且阻止BIOS继续通信,并进行声光报警,包括:
当BIOS芯片内固件信息不正确,即监测异常时,则FPGA将BIOS芯片的片选信号调整为拉高信号,阻止BIOS芯片继续通信;
同时FPGA将CPU复位信号调整为拉低信号,使CPU处于复位状态,并通过声光报警进行提示。
7.根据权利要求1所述的一种实时BIOS固件监测方法,其特征在于,该方法还包括:
采用基于FPGA的监测电路,将启动异常的数据信息存储至FPGA外置的串口闪存SPIFLASH中,形成日志信息;通过所述日志信息进行后续故障定位及分析。
8.使用如权利要求1至7任一所述的一种实时BIOS固件监测方法的监测系统,其特征在于,该检测系统包括FPGA电路、CPU和BIOS芯片,所述FPGA电路一端通过SPI片选信号连接CPU,所述FPGA电路另一端通过SPI片选信号连接BIOS芯片;CPU与BIOS之间通过SPI通信信号进行通信;
所述FPGA电路,用于对BIOS芯片进行上电前度量,度量正确后,释放CPU复位引脚,CPU上电并读取BIOS芯片内固件信息;及对CPU上电启动信号进行实时监测,当BIOS芯片内固件信息正确,即监测正常时,则CPU正常启动;当BIOS芯片内固件信息不正确,即监测异常时,则CPU异常启动,这时复位CPU,且阻止BIOS继续通信,并通过与FPGA电路连接的声光报警器进行声光报警。
9.根据权利要求8所述的监测系统,其特征在于,对CPU上电启动信号进行实时监测,具体过程为:
FPGA通过IO引脚实时监测CPU与BIOS芯片之间的SPI通信信号波形;
并在FPGA内部通过预存的SPI协议对采集到的SPI信号波形进行实时解析,分析出CPU实时读取的BIOS芯片内固件的二进制代码;
将CPU实时读取的BIOS芯片内固件的二进制代码与FPGA内部存储的正确BIOS固件二进制代码进行对比检查;若对比一致,则BIOS芯片内固件信息正确;若对比不一致,则BIOS芯片内固件信息不正确。
10.根据权利要求8所述的监测系统,其特征在于,该检测系统还包括串口闪存SPIFLASH,所述串口闪存SPI FLASH通过SPI通信信号与FPGA电路连接,所述串口闪存SPIFLASH,用于存储启动异常的数据信息,形成日志信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211102460.6A CN115658418A (zh) | 2022-09-09 | 2022-09-09 | 一种实时bios固件监测方法及监测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211102460.6A CN115658418A (zh) | 2022-09-09 | 2022-09-09 | 一种实时bios固件监测方法及监测系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658418A true CN115658418A (zh) | 2023-01-31 |
Family
ID=85024415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211102460.6A Pending CN115658418A (zh) | 2022-09-09 | 2022-09-09 | 一种实时bios固件监测方法及监测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658418A (zh) |
-
2022
- 2022-09-09 CN CN202211102460.6A patent/CN115658418A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992992B (zh) | 一种硬盘测试方法、设备以及存储介质 | |
US10296434B2 (en) | Bus hang detection and find out | |
CN106547653B (zh) | 计算机系统故障状态检测方法、装置及系统 | |
US20050081090A1 (en) | Method for automatically and safely recovering BIOS memory circuit in memory device including double BIOS memory circuits | |
CN112965864A (zh) | 一种服务器上电故障检测方法、系统及相关装置 | |
CN111048138A (zh) | 一种硬盘的故障检测方法及相关装置 | |
CN113553226B (zh) | 开关机测试方法、装置、测试系统、电子设备及存储介质 | |
CN1180346C (zh) | 在一计算机系统中的bios存储装置的自动安全恢复方法 | |
US9158646B2 (en) | Abnormal information output system for a computer system | |
CN114048484A (zh) | 多路服务器的可信度量的方法、装置、计算机设备 | |
CN115658418A (zh) | 一种实时bios固件监测方法及监测系统 | |
CN110502382B (zh) | Type-c接口测试方法、装置、存储介质及电子设备 | |
CN113129991B (zh) | 用于rombist测试的芯片安全防护方法和电路 | |
US7415560B2 (en) | Method of automatically monitoring computer system debugging routine | |
CN112015587A (zh) | 一种增强操作系统可靠性的方法及装置 | |
CN115168119A (zh) | 一种服务器pcie链路检测方法、装置以及介质 | |
CN110909378A (zh) | 自动化检测方法、装置、存储介质及电子设备 | |
JP2004021922A (ja) | メモリ擬似故障注入装置 | |
US11486926B1 (en) | Wearout card use count | |
CN113886165B (zh) | 一种固件诊断功能的验证方法、装置、设备及可读介质 | |
CN116414611A (zh) | 基于冗余存储的开机自检设备故障定位系统 | |
CN115576728A (zh) | 一种基于故障定位的时序控制方法、装置及设备 | |
CN116881070A (zh) | 服务器的入侵开关接口的测试治具、方法、装置及介质 | |
CN116541211A (zh) | 键盘控制器样式接口故障冗余方法和装置 | |
US20080195896A1 (en) | Apparratus and method for universal programmable error detection and real time error detection |
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 |