CN115145786A - 一种bmc芯片管理方法、装置、计算机设备及存储介质 - Google Patents
一种bmc芯片管理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115145786A CN115145786A CN202210623918.6A CN202210623918A CN115145786A CN 115145786 A CN115145786 A CN 115145786A CN 202210623918 A CN202210623918 A CN 202210623918A CN 115145786 A CN115145786 A CN 115145786A
- Authority
- CN
- China
- Prior art keywords
- gpio
- interrupt
- bmc chip
- interruption
- program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请属于BMC领域,涉及一种BMC芯片管理方法、装置、计算机设备及存储介质,所述方法包括BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断;使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序;启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断;Super I/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断;进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理;通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
Description
技术领域
本申请涉及BMC技术领域,尤其涉及BMC芯片管理方法、装置、计算机设备及存储介质。
背景技术
BMC(Baseboard Management Controller),基板管理控制器,它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除等。
现有技术中,基于BMC芯片的系统拓展少,系统功能简单,不利于BMC芯片资源的充分利用。
发明内容
本申请实施例的目的在于提出一种BMC芯片管理方法、装置、计算机设备及存储介质,以解决现有技术中,基于BMC芯片的系统拓展少,系统功能简单,不利于BMC芯片资源的充分利用的问题。
为了解决上述技术问题,本申请提供一种BMC芯片管理方法,采用了如下所述的技术方案,包括下述步骤:
BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断;
使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的SuperI/O设备的驱动,注册lpc_gic_int中断处理程序;
启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断;
Super I/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断;
进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理;
通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。
优选地,所述配置BMC管理芯片的寄存器,使得输入GPIO的信号下降沿产生中断的步骤之前还包括:
配置BMC芯片的UART1、UART2寄存器,使UART1和UART PORT1双向连接,UART2和UART PORT2双向连接。
优选地,所述使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序的步骤具体包括:
在BMC芯片固件程序里,注册多个GPIO的下降沿产生中断的函数。
优选地,所述进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理的步骤具体包括:
多个GPIO的下降沿产生中断的函数通过获取LPC通道传过来的寄存器值,识别出当前产生中断的脚位,并将记录该脚位中断数的变量加一。
优选地,所述通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值的步骤具体包括:
获取驱动中记录各脚位中断数的变量的值,如果当前值和原来的值相比有变化,则判断出有脚位产生了中断,则将当前值即驱动程序中中断计数值显示出来。
优选地,所述BMC芯片管理方法,所述BMC芯片读取用于检测槽位的第一GPIO电平状态,进行槽位识别;
所述BMC芯片读取用于检测机箱号的第二GPIO电平状态,进行机箱号识别。
优选地,所述BMC芯片通过两路I2C实现2路IPMB接口,用于与其他电子设备进行通讯,一路IPMB接口作为主要IPMB通讯通路,另一路IPMB接口作为备份IPMB通讯通路,设置同一个槽位的两路IPMB的地址不同,通过控制终端或者其他电子设备,向所述BMC芯片发送IPMB命令,利用IPMB命令控制其他电子设备开关机,或者查询其他电子设备是否在线。
为了解决上述技术问题,本申请还提供一种BMC芯片管理装置,采用了如下所述的技术方案,包括:
配置模块,用于BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断;
注册模块,用于使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序;
启动模块,用于启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断;
中断模块,用于Super I/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断;
识别模块,用于进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理;
显示模块,用于通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。
为了解决上述技术问题,本申请还提供一种计算机设备,采用了如下所述的技术方案,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的BMC芯片管理方法的步骤。
为了解决上述技术问题,本申请还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的BMC芯片管理方法的步骤。
与现有技术相比,本申请主要有以下有益效果:通过使用Super I/O扩展GPIO,监督服务器工作状态,如果异常进行报警等处理;监测平台风扇运行状态,并根据检测到的温度控制平台风扇运行状态;控制LED指示灯,以便指示服务器的工作状态;使用IPMI的网络交互功能,以及IPMI的串口交互功能等等,可以接收用户通过多种通讯途径发来的IPMI交互控制语句,以实现对服务器状态的查询或者比如开关机等控制;用户可以开发其他应用程序与BMC通过IPMI协议或者其他通讯协议进行交互,实现对该服务器的控制或者了解其工作状态;具备故障上报、开机自检、运行状态自检功能;具备向用户软件输出电流电压、主芯片温度、操作系统及版本、固件版本等信息的软件接口;设计BMC芯片两个接入网口,一个RGMII,一个NCSI接口;具有槽位号、机箱号和机柜号识别功能;具有两路IPMB接口、通过IPMB接受交换XX的管理、查询;可通过BMC芯片维护串口获取系统状态信息,并可进行相应维护;基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的BMC芯片管理方法的一个实施例的流程图;
图3是本申请的BMC芯片管理方法中BMC芯片扩展串口的原理框图;
图4是本申请的BMC芯片管理方法中机柜机箱识别方法流程图;
图5是本申请的BMC芯片管理方法中槽位识别方法流程图;
图6是本申请的BMC芯片管理方法中扩展串口方法流程图;
图7是本申请的BMC芯片管理方法的另一个实施例的流程图;
图8是本申请的BMC芯片管理装置的一个实施例的结构示意图;
图9是本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103,网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对第一终端设备101、第二终端设备102、第三终端设备103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的BMC芯片管理方法一般由服务器/终端设备执行,相应地,BMC芯片管理装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
实施例一
继续参考图2,示出了本申请的BMC芯片管理方法的一个实施例的流程图。所述的BMC芯片管理方法,包括以下步骤:
步骤S201,BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断。
在本实施例中,BMC芯片管理方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收BMC芯片管理请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAXX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
BMC芯片,本实施例中可以选用AST2400。AST2400的中断控制,支持4路GPIO中断,利用BMC专用芯片AST2400的GPIO检测中断功能和该芯片与CPU相连的LPC通路下的SuperI/O设备来实现。BMC软件程序运行在BMC芯片AST2400里,主要需要检测中断的GPIO的相关寄存器进行配置,并在产生GPIO中断时可以迅速将相应信息通过Super I/O设备传递给微处理器如FT-1500A/16。
具体实施时,在步骤S201之前,还可以包括:
配置BMC芯片的UART1、UART2寄存器,使UART1和UART PORT1双向连接,UART2和UART PORT2双向连接。
配置BMC芯片的UART1、UART2寄存器,是为了对BMC芯片进行扩展串口,方便BMC芯片与外接电子设备进行交互。
如图3所示,为本申请的BMC芯片管理方法中BMC芯片扩展串口的原理框图。如图3所示,在AST2400启动初始化过程中运行,主要对UART1、UART2寄存器进行配置,使UART1和UART PORT1双向连接,UART2和UART PORT2双向连接,并且配置与UART PORT1相关的脚位是作为UART PORT1相应脚位使用,而非作为GPIO或者其他辅助功能使用,配置与UART PORT2相关的脚位是作为UART PORT2相应脚位使用,而非作为GPIO或者其他辅助功能使用。
步骤S202,使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序。
在本实施例中,系统下的驱动程序在FT-1500A/16里运行,主要用来驱动相关Super I/O设备,以便接收BMC传送来的GPIO中断相关信息。T-1500A/16通过Super I/O设备收到GPIO中断相关信息后,会产生lpc_gic_int中断,驱动程序注册了lpc_gic_int中断响应函数,中断响应函数里可以迅速识别是哪个GPIO产生了中断,并对中断计数或者进行用户需要的其他处理。这部分程序可以在系统启动时自动装载进系统。
步骤S203,启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断。
在本实施例中,函数说明:void PDK_CountGpioInt_Thrd(int BMCInst),该函数在BMC固件程序里,注册四个GPIO的下降沿产生中断的函数。
步骤S204,Super I/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断。
步骤S205,进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理。
函数说明:static irqreturn_t lpc_handle_irq(int irq,void*dev_id),该函数属于GPIO中断处理驱动程序的一部分,在FT-1500A/16中运行,是驱动程序里注册的中断处理函数,该函数通过获取LPC通道传过来的寄存器值识别出当前产生中断的脚位。
步骤S206,通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。
应用程序主要功能是获取驱动中中断计数值并在终端上显示出来,还可以对驱动程序里中断计数值进行清零。运行时,在系统自动装载驱动程序后,用户启动应用程序,并将信号接入相应BMC的GPIO。
函数说明:int main(int argc,char**argv),该函数是系统里的应用程序的主函数,在FT-1500A/16中运行,其中通过程序语句read(fd,iIntCount,sizeof(iIntCount));获取驱动中记录各脚位中断数的变量(iIntCount[n])的值。如果当前值和原来的值有变化,则知道有脚位产生了中断,就将新的值打印到显示器界面上。
在本实施例的一些可选的实现方式中,上述电子设备还可以执行以下步骤:
BMC芯片读取用于检测槽位的第一GPIO电平状态如设计6个GPIO端口显示电平状态,进行槽位识别;
BMC芯片读取用于检测机箱号的第二GPIO电平状态如设计另外6个GPIO显示电平状态,进行机箱号识别。
图4为本申请的BMC芯片管理方法中机柜机箱识别方法流程图。如图4所示,一种BMC芯片管理方法中机柜机箱识别方法,包括步骤:
S401、运行机柜、机箱识别程序;
S402、读取用来检测机柜、机箱号的6个GPIO各自的电平值;
S403、将检测奇偶校验位的引脚值放在第5位,检测机柜号的两个引脚值放在第4、3位,检测保留位引脚值放在第2位,检测机箱号的两个引脚值放在第1、0位,这样组成一个有6位有效数据的数值;
S404、判断效验是否通过,如果通过进行步骤S405,否则进行步骤S402;
S405、假设保留位为1,各机箱位有6个检测脚位应该检测到的数值常数,形成一个真值表;假设保留位为0,各机箱位有对应的另一个数值常数,形成另一个真值表;
S406、检测到的6位数据是否和前述两个真值表中的某个数据匹配,如果是,则进行步骤S407,否则进行步骤S402;
S407、通过匹配到的真值数据,就可以知道刀片位于该真值对应的机柜、机箱;
S408、结束。
通过该方法,可以明确对机柜机箱进行识别,提高了机柜机箱识别的准确性和快捷性,为对机柜机箱的状态判定打下基础。
图5为本申请的BMC芯片管理方法中槽位识别方法流程图。如图5所示,一种BMC芯片管理方法中槽位识别方法,包括步骤:
S501、运行检测槽位号程序;
S502、读取用来检测槽位号的6个GPIO各自的电平值;
S503、将检测到的6个脚位电平值组成一个有6位有效数据的数值;
S504、采用上面检测方法,各槽位得到的一个有6位有效数据的数值常数,列举出来形成一个真值表;
S505、检测到的6位数据是否和前述真值表中的某个数据匹配,如果是,执行步骤S506,否则执行步骤S502;
S506、通过匹配到的真值数据,确定位于该真值对应的槽位号;
S507、结束。
本申请通过该方法,可以明确对槽位进行识别,提高了槽位识别的准确性和快捷性,为对机箱的状态准确判定打下基础。
图6是本申请的BMC芯片管理方法中扩展串口方法流程图。如图6所示,一种扩展串口方法,以UART1为例,包括步骤:
加载驱动程序;
设置SUART1设备相关的Super IO控制寄存器,使能SUART1,设置串行中断电平;
调用devm_kcalloc系统自带函数申请
struct ast2400_lpc_superio_suart_data{
struct uart_8250_port uart;
int line;
};
类型变量所需动态空间,并将返回指针付给指针变量data保存;
通过data指针指向的内存空间设置该串口各运行参数,比如端口类型、端口访问地址、端口输入函数接口,输出函数接口;
调用系统自带函数serial8250_register_8250_port对串口进行注册;
判断是否注册成功,如果是,则进行下一步,如果否,则报错,释放空间,结束流程;
判断是否卸载该驱动成功,如果否,则释放空间,结束流程,如果是,则执行下一步;
等待lpc_gic_int中断;
进入注册的lpc_gic_int中断响应函数lpc_uart1_irq;
通过中断标志位识别是否是SUART1产生的中断,如果否,则进入上述判断是否卸载该驱动成功的步骤,如果是,则调用系统自带的uart_8250_port类型的成员函数port.handle_irq进行处理;
流程结束。
还可以设置BMC芯片和VPX连接,通过VPX后IO连接的接口可以有1路RS232、1路RS422、1路管理网口、4路GPIO,2路IPMB、槽位号识别PIN、机箱号和机柜号识别PIN。对外输出2路标准的IPMB(I2C)接口可以进行隔离处理,通信速率支持100Kbps/400Kbps可配置,支持IPMI2.0标准协议,支持iKVM功能,可通过IPMI命令控制电子设备开关电以及在位信息。如可以对UART3相关寄存器进行配置,使UART3和UART4双向连接。这样就可以与BMC的IPMI的串口通讯端口UART4进行通讯,通讯协议为IPMI串口交互协议。
对外输出2路标准的IPMB(I2C)接口进行了隔离处理,通信速率支持100Kbps/400Kbps可配置,支持IPMI2.0标准协议,支持iKVM功能,可通过IPMI命令控制XX开关电以及上报模块在位信息。
可见,通过使用Super I/O扩展GPIO,可以监督载有BMC芯片的服务器工作状态,如果服务器出现异常,则可以进行报警等处理,还可以监测平台风扇运行状态,并根据检测到的温度控制平台风扇运行状态;另外,还可以设置LED灯,通过控制LED指示灯,以便指示服务器的工作状态;使用IPMI的网络交互功能,以及IPMI的串口交互功能等等,可以接收用户通过多种通讯途径发来的IPMI交互控制语句,以实现对服务器状态的查询或者比如开关机等控制;用户可以开发其他应用程序与BMC通过IPMI协议或者其他通讯协议进行交互,实现对该服务器的控制或者了解其工作状态;具备故障上报、开机自检、运行状态自检功能;具备向用户软件输出电流电压、主芯片温度、操作系统及版本、固件版本等信息的软件接口;设计BMC芯片两个接入网口,一个RGMII,一个NCSI接口;具有槽位号、机箱号和机柜号识别功能;具有两路IPMB接口、通过IPMB接受交换的管理、查询;可通过BMC芯片维护串口获取系统状态信息,并可进行相应维护;基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图7,为本申请的BMC芯片管理方法的另一个实施例的流程图。如图7所示,一种BMC芯片管理方法,包括步骤:
S701、BMC程序运行,配置AST2400相关寄存器,使输入GPIO的信号下降沿产生中断;
S702、在CPU FT1500A/16里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关Super I/O设备的驱动注册lpc_gic_int中断处理程序;
S703、用户启动应用程序;
S704、四个GPIO输入脚某个脚位产生下降沿变化;
S705、AST2400产生GPIO中断;
S706、Super I/O设备通过LPC将GPIO中断信息传送给CPU FT1500A/16;
S707、在CPU FT1500A/16中产生lpc_gic_int中断;
S708、进入系统下驱动程序注册的中断响应程序,识别是哪个GPIO产生了中断信号,并进行计数等处理;
S709、通过运行的GPIO中断处理APP程序获取驱动程序中中断计数值并显示出来。
实施本实施例,通过BMC芯片实现对系统的中断处理,可以提高CPU工作效率,CPU不必花大量的时间等待和查询外设工作;具有实时处理功能,对实时控制系统中的各种参数和状态做出快速响应、及时处理;具有故障处理功能,在掉电中断服务程序中将需要保存的数据和信息及时转移到具有备用电源的存储器中保护起来,待电源正常时再恢复;实现时分操作,控制多个外设同时工作;中断系统还能用于程序调试、多机连接等方面;可见基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
实施例三
进一步参考图8,作为对上述图2或者图7所示方法的实现,本申请提供了一种BMC芯片管理装置的一个实施例,该装置实施例与图2、图7所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,本实施例所述的BMC芯片管理装置800包括:配置模块801、注册模块802、启动模块803、中断模块804、识别模块805以及显示模块806。其中:
配置模块801,用于BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断;
注册模块802,用于使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序;
启动模块803,用于启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断;
中断模块804,用于Super I/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断;
识别模块805,用于进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理;
显示模块806,用于通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。
实施本实施例,通过使用Super I/O扩展GPIO,监督服务器工作状态,如果异常进行报警等处理;监测平台风扇运行状态,并根据检测到的温度控制平台风扇运行状态;控制LED指示灯,以便指示服务器的工作状态;使用IPMI的网络交互功能,以及IPMI的串口交互功能等等,可以接收用户通过多种通讯途径发来的IPMI交互控制语句,以实现对服务器状态的查询或者比如开关机等控制;用户可以开发其他应用程序与BMC通过IPMI协议或者其他通讯协议进行交互,实现对该服务器的控制或者了解其工作状态;具备故障上报、开机自检、运行状态自检功能;具备向用户软件输出电流电压、主芯片温度、操作系统及版本、固件版本等信息的软件接口;设计BMC芯片两个接入网口,一个RGMII,一个NCSI接口;具有槽位号、机箱号和机柜号识别功能;具有两路IPMB接口、通过IPMB接受交换XX的管理、查询;可通过BMC芯片维护串口获取系统状态信息,并可进行相应维护;基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
实施例四
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
所述计算机设备9包括通过系统总线相互通信连接存储器91、处理器92、网络接口93。需要指出的是,图中仅示出了具有组件存储器91、处理器92和网络接口93的计算机设备9,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器91可以是所述计算机设备9的内部存储单元,例如该计算机设备9的硬盘或内存。在另一些实施例中,所述存储器91也可以是所述计算机设备9的外部存储设备,例如该计算机设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器91还可以既包括所述计算机设备9的内部存储单元也包括其外部存储设备。本实施例中,所述存储器91通常用于存储安装于所述计算机设备9的操作系统和各类应用软件,例如BMC芯片管理方法的计算机可读指令等。此外,所述存储器91还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器92在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器92通常用于控制所述计算机设备9的总体操作。本实施例中,所述处理器92用于运行所述存储器91中存储的计算机可读指令或者处理数据,例如运行所述BMC芯片管理方法的计算机可读指令。
所述网络接口93可包括无线网络接口或有线网络接口,该网络接口93通常用于在所述计算机设备9与其他电子设备之间建立通信连接。
实施本实施例,通过使用Super I/O扩展GPIO,监督服务器工作状态,如果异常进行报警等处理;监测平台风扇运行状态,并根据检测到的温度控制平台风扇运行状态;控制LED指示灯,以便指示服务器的工作状态;使用IPMI的网络交互功能,以及IPMI的串口交互功能等等,可以接收用户通过多种通讯途径发来的IPMI交互控制语句,以实现对服务器状态的查询或者比如开关机等控制;用户可以开发其他应用程序与BMC通过IPMI协议或者其他通讯协议进行交互,实现对该服务器的控制或者了解其工作状态;具备故障上报、开机自检、运行状态自检功能;具备向用户软件输出电流电压、主芯片温度、操作系统及版本、固件版本等信息的软件接口;设计BMC芯片两个接入网口,一个RGMII,一个NCSI接口;具有槽位号、机箱号和机柜号识别功能;具有两路IPMB接口、通过IPMB接受交换XX的管理、查询;可通过BMC芯片维护串口获取系统状态信息,并可进行相应维护;基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
实施例五
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的BMC芯片管理方法的步骤。
实施本实施例,通过使用Super I/O扩展GPIO,监督服务器工作状态,如果异常进行报警等处理;监测平台风扇运行状态,并根据检测到的温度控制平台风扇运行状态;控制LED指示灯,以便指示服务器的工作状态;使用IPMI的网络交互功能,以及IPMI的串口交互功能等等,可以接收用户通过多种通讯途径发来的IPMI交互控制语句,以实现对服务器状态的查询或者比如开关机等控制;用户可以开发其他应用程序与BMC通过IPMI协议或者其他通讯协议进行交互,实现对该服务器的控制或者了解其工作状态;具备故障上报、开机自检、运行状态自检功能;具备向用户软件输出电流电压、主芯片温度、操作系统及版本、固件版本等信息的软件接口;设计BMC芯片两个接入网口,一个RGMII,一个NCSI接口;具有槽位号、机箱号和机柜号识别功能;具有两路IPMB接口、通过IPMB接受交换XX的管理、查询;可通过BMC芯片维护串口获取系统状态信息,并可进行相应维护;基于BMC芯片的系统功能拓展多,充分利用BMC芯片资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种BMC芯片管理方法,其特征在于,包括下述步骤:
BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断;
使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序;
启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断;
Super I/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断;
进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理;
通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。
2.根据权利要求1所述的BMC芯片管理方法,其特征在于,所述配置BMC管理芯片的寄存器,使得输入GPIO的信号下降沿产生中断的步骤之前还包括:
配置BMC芯片的UART1、UART2寄存器,使UART1和UART PORT1双向连接,UART2和UARTPORT2双向连接。
3.根据权利要求1所述的BMC芯片管理方法,其特征在于,所述使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序的步骤具体包括:
在BMC芯片固件程序里,注册多个GPIO的下降沿产生中断的函数。
4.根据权利要求3所述的BMC芯片管理方法,其特征在于,所述进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理的步骤具体包括:
多个GPIO的下降沿产生中断的函数通过获取LPC通道传过来的寄存器值,识别出当前产生中断的脚位,并将记录该脚位中断数的变量加一。
5.根据权利要求4所述的BMC芯片管理方法,其特征在于,所述通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值的步骤具体包括:
获取驱动中记录各脚位中断数的变量的值,如果当前值和原来的值相比有变化,则判断出有脚位产生了中断,则将当前值即驱动程序中中断计数值显示出来。
6.根据权利要求1至5任意一项所述的BMC芯片管理方法,其特征在于:
所述BMC芯片读取用于检测槽位的第一GPIO电平状态,进行槽位识别;
所述BMC芯片读取用于检测机箱号的第二GPIO电平状态,进行机箱号识别。
7.根据权利要求6所述的BMC芯片管理方法,其特征在于:
所述BMC芯片通过两路I2C实现2路IPMB接口,用于与其他电子设备进行通讯,一路IPMB接口作为主要IPMB通讯通路,另一路IPMB接口作为备份IPMB通讯通路,设置同一个槽位的两路IPMB的地址不同,通过控制终端或者其他电子设备,向所述BMC芯片发送IPMB命令,利用IPMB命令控制其他电子设备开关机,或者查询其他电子设备是否在线。
8.一种BMC芯片管理装置,其特征在于,包括:
配置模块,用于BMC芯片中设有用于检测中断的GPIO寄存器,配置用于检测中断的GPIO寄存器,使得输入GPIO的信号下降沿产生中断;
注册模块,用于使得CPU里运行的程序进入系统,在系统里自动加载与GPIO中断处理相关的Super I/O设备的驱动,注册lpc_gic_int中断处理程序;
启动模块,用于启动应用程序,GPIO输入脚的脚位产生下降沿变化,BMC芯片产生GPIO中断;
中断模块,用于SuperI/O设备通过LPC将GPIO中断信息传送给CPU,在CPU中产生lpc_gic_int中断;
识别模块,用于进入系统中驱动程序注册的中断响应程序,识别出产生了中断信号的GPIO,并进行计数处理;
显示模块,用于通过运行的GPIO中断处理应用程序,获取驱动程序中中断计数值并显示中断计数值。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的BMC芯片管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的BMC芯片管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210623918.6A CN115145786A (zh) | 2022-06-02 | 2022-06-02 | 一种bmc芯片管理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210623918.6A CN115145786A (zh) | 2022-06-02 | 2022-06-02 | 一种bmc芯片管理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145786A true CN115145786A (zh) | 2022-10-04 |
Family
ID=83406360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210623918.6A Pending CN115145786A (zh) | 2022-06-02 | 2022-06-02 | 一种bmc芯片管理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115145786A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024179063A1 (zh) * | 2023-03-01 | 2024-09-06 | 深圳市广和通无线股份有限公司 | 驱动程序加载方法、装置、无线接入装置和存储介质 |
-
2022
- 2022-06-02 CN CN202210623918.6A patent/CN115145786A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024179063A1 (zh) * | 2023-03-01 | 2024-09-06 | 深圳市广和通无线股份有限公司 | 驱动程序加载方法、装置、无线接入装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3073381B1 (en) | Virtual intelligent platform management interface (ipmi) satellite controller and method | |
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
EP2348448A1 (en) | Method and device for managing security events | |
US20170031694A1 (en) | System and method for remote system configuration managment | |
TWI735279B (zh) | 自動偵測及警示計算裝置組件變更的方法和系統 | |
CN101902355A (zh) | 服务器、计算机系统及计算机系统的监控方法 | |
CN104838373A (zh) | 基于单个微控制器的多个计算节点管理 | |
CN106537383B (zh) | 动态特征集管理 | |
US9806959B2 (en) | Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface | |
US9712382B2 (en) | Retrieving console messages after device failure | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN103678053A (zh) | 计算机自检方法和系统 | |
CN113890879B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
WO2016197737A1 (zh) | 自检处理方法、装置及系统 | |
CN116723198A (zh) | 一种多节点服务器主机控制方法、装置、设备、存储介质 | |
CN115145786A (zh) | 一种bmc芯片管理方法、装置、计算机设备及存储介质 | |
CN108920337A (zh) | 一种设备异常信息展示方法和计算机设备 | |
CN103440146A (zh) | 一种基于云存储的更新bios的方法 | |
CN112882833B (zh) | 一种数据采集方法、装置、计算机设备及存储介质 | |
CN109697166B (zh) | 一种测试数据准备方法及相关装置 | |
CN115599617A (zh) | 总线检测方法、装置、服务器及电子设备 | |
CN108459942A (zh) | 一种数据处理方法、装置及存储介质 | |
CN109710495B (zh) | 一种信息处理方法及电子设备 | |
CN113010303A (zh) | 一种处理器间的数据交互方法、装置以及服务器 | |
CN110798347A (zh) | 服务状态检测方法、装置、设备及存储介质 |
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 |