一种gpio策略配置方法、装置、电子设备及存储介质
技术领域
1.本发明涉及服务器领域,特别涉及一种gpio策略配置方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.基板管理控制器(bmc,baseboard management controller)是一种可对服务器进行控制、信息监督等操作的控制器设备,而gpio(general-purpose input/output,通用型输入输出)则是基板管理控制器控制服务器的一种方式。相关技术中,每个服务器机型均有各自的一套gpio控制策略,当机型改变、需求变更时均需要修改bmc代码进行gpio适配,而后进行测试,给bmc研发及测试带来很大工作量。
技术实现要素:
3.本发明的目的是提供一种gpio策略配置方法、装置、电子设备及计算机可读存储介质,可利用统一的通用结构体规范gpio策略条目及gpio适配文件,进而可提升开发人员及测试人员适配gpio的效率。
4.为解决上述技术问题,本发明提供一种gpio策略配置方法,包括:
5.获取预设的通用结构体;
6.在所述通用结构体中写入gpio策略信息,得到gpio策略条目;
7.将所述gpio策略条目写入gpio适配文件,并将所述gpio适配文件写入基板管理控制器的存储设备中,以使所述基板管理控制器根据所述gpio适配文件中的gpio策略条目执行对应的gpio策略功能。
8.可选地,当所述基板管理控制器中设置有更新处理进程时,在将所述gpio适配文件写入基板管理控制器的存储设备之后,还包括:
9.当接收到用户端发送的新gpio适配文件时,利用预设替换命令将所述新gpio适配文件发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio适配文件替换所述存储设备中的gpio适配文件。
10.可选地,在将所述gpio适配文件写入基板管理控制器的存储设备之后,还包括:
11.当接收到用户端发送的新gpio策略条目时,利用预设修改命令将所述新gpio策略条目发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio策略条目修改所述存储设备中的gpio适配文件。
12.可选地,所述将所述gpio适配文件写入基板管理控制器的存储设备中,包括:
13.将所述gpio适配文件编译至所述基板管理控制器的固件文件中,以使所述基板管理控制器加载所述固件文件时,将所述gpio适配文件写入所述存储设备。
14.可选地,所述通用结构体中包括功能序列号字段、输入输出方向字段、默认值字段、有效值字段及gpio编号字段。
15.本发明还提供一种gpio策略配置装置,包括:
16.通用结构体获取模块,用于获取预设的通用结构体;
17.信息填写模块,用于在所述通用结构体中写入gpio策略信息,得到gpio策略条目;
18.适配文件生成及写入模块,用于将所述gpio策略条目写入gpio适配文件,并将所述gpio适配文件写入基板管理控制器的存储设备中,以使所述基板管理控制器根据所述gpio适配文件中的gpio策略条目执行对应的gpio策略功能。
19.可选地,当所述基板管理控制器中设置有更新处理进程时,所述装置还包括:
20.替换模块,用于当接收到用户端发送的新gpio适配文件时,利用预设替换命令将所述新gpio适配文件发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio适配文件替换所述存储设备中的gpio适配文件。
21.可选地,还包括:
22.修改模块,用于当接收到用户端发送的新gpio策略条目时,利用预设修改命令将所述新gpio策略条目发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio策略条目修改所述存储设备中的gpio适配文件。
23.本发明还提供一种电子设备,包括:
24.存储器,用于存储计算机程序;
25.处理器,用于执行所述计算机程序时实现如上述所述的gpio策略配置方法。
26.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的gpio策略配置方法。
27.本发明提供一种gpio策略配置方法,包括:获取预设的通用结构体;在所述通用结构体中写入gpio策略信息,得到gpio策略条目;将所述gpio策略条目写入gpio适配文件,并将所述gpio适配文件写入基板管理控制器的存储设备中,以使所述基板管理控制器根据所述gpio适配文件中的gpio策略条目执行对应的gpio策略功能。
28.可见,本发明首先利用预设的通用结构体填写了gpio策略信息得到gpio策略条目,其中通用结构体可规整gpio策略信息,利用通用结构体填写gpio策略信息可提升对gpio策略的管理效率;在得到gpio策略条目后,本发明将其写入标准化的gpio适配文件,并将gpio适配文件写入基板管理控制器的存储设备中,以使基板管理控制器根据gpio适配文件中的gpio策略条目执行对应的gpio策略功能,这样,当有新gpio需求或者新服务器机型要适配gpio策略时,仅需要提供一份标准化gpio适配文件,并将该适配文件写入基板管理控制器的存储设备即可,能够提升gpio配置效率并为开发人员及测试人员节省了大部分精力。本发明还提供一种gpio策略配置装置、电子设备及计算机可读存储介质,具有上述有益效果。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
30.图1为本发明实施例所提供的一种gpio策略配置方法的流程图;
31.图2为本发明实施例所提供的一种gpio策略配置装置的结构框图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.相关技术中,每个服务器机型均有各自的一套gpio控制策略,当机型改变、需求变更时均需要修改bmc代码进行gpio适配,而后进行测试,给bmc研发及测试带来很大工作量。有鉴于此,本发明提供一种gpio策略配置方法,可利用统一的通用结构体规范gpio策略条目及gpio适配文件,进而可提升开发人员及测试人员适配gpio的效率。请参考图1,图1为本发明实施例所提供的一种gpio策略配置方法的流程图,该方法可以包括:
34.s101、获取预设的通用结构体。
35.在本发明实施例中,通用结构体是用于填写gpio策略信息的标准模板。通用结构体中包含有多个字段,分别用于填写gpio策略的不同信息内容。需要说明的是,本发明实施例并不限定通用结构体中可包含的字段内容及字段数量,可以参考gpio的相关技术,并结合gpio策略所共有信息进行设置。在一种可能的情况中,通用结构体中可包含序列号字段(func_index)、输入输出方向字段(gpio_dir)、默认值字段(default_val)、有效值字段(active_val)及gpio编号字段(gpio_num)。该结构体的具体结构如下所示:
[0036][0037][0038]
其中typedef struct inspur_gpio_func_info及gpio_control_t字段用于定义结构体,uint16及uint8用于表明字段的数据类型,这些用于定义结构及数据类型的字段可根据实际应用需求进行选择。当然,上述字段的内容也可根据应用需求进行调整,本发明实施例对此不做限定。
[0039]
在一种可能的情况中,通用结构体中包括功能序列号字段、输入输出方向字段、默认值字段、有效值字段及gpio编号字段。
[0040]
s102、在通用结构体中写入gpio策略信息,得到gpio策略条目。
[0041]
需要说明的是,本发明实施例并不限定具体的gpio策略信息,可以理解的是,不同
类型的gpio策略将带有不同的策略信息。本发明实施例并不限定具体的gpio策略,可参考gpio策略的相关技术,例如基板管理控制器初始化完成(bmc_init)、基板管理控制器看门狗(bmc_wdt)、基板管理控制器闪存切换(bmc_flash)、系统开机标志(sys_pwrok)及开机键检测(pwrbtn_detect)等。
[0042]
s103、将gpio策略条目写入gpio适配文件,并将gpio适配文件写入基板管理控制器的存储设备中,以使基板管理控制器根据gpio适配文件中的gpio策略条目执行对应的gpio策略功能。
[0043]
在本发明实施例中,gpio适配文件即为存放有所有gpio策略条目的文件,而基板管理控制器则根据gpio适配文件执行gpio策略功能。由于gpio策略条目采用统一的通用结构体填写,因此gpio适配文件也能够得到相应的规范化。需要说明的是,本发明实施例并不限定如何将将gpio适配文件写入基板管理控制器的存储设备,例如可以在基板管理控制器开机后,将该适配文件发送至该控制器,以便该控制器进行存放;当然,也可以将该适配文件编译至基板管理控制器的固件文件中,以使基板管理控制在加载固件文件时,将该适配文件写入存储设备。为了确保基板管理控制器能够正确存放及读取gpio适配文件,在本发明实施例中,可通过将gpio适配文件编译至基板管理控制器的固件文件的方式,将该适配文件写入基板管理控制器的存储设备。
[0044]
在一种可能的情况中,将gpio适配文件写入基板管理控制器的存储设备中,可以包括:
[0045]
步骤11:将gpio适配文件编译至基板管理控制器的固件文件中,以使基板管理控制器加载固件文件时,将gpio适配文件写入存储设备。
[0046]
需要说明的是,本发明实施例并不限定编译的具体方式,可参考基板管理控制器的相关技术。本发明实施例也不限定存储设备的具体类型,可根据实际应用需求进行选用。为避免gpio适配文件丢失,在本发明实施例中,存储设备将采用掉电不丢失的存储设备中,例如可以为eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)。
[0047]
进一步,可以理解的是gpio策略条目及适配文件可能发生更新情况。本发明实施例并不限定具体的更新机制,例如可以利用新的gpio策略条目生成新的gpio适配文件,将该适配文件重新编译至固件文件中,并控制基板管理控制器重新加载新的固件文件,以更新存储设备中的适配文件;当然,也可以在基板管理控制器中设置专用的更新处理进程,用于接收并处理新的gpio策略条目或gpio适配文件,进而可利用预设的指令将新gpio策略条目或新gpio适配文件发送至该进程,以使该进行将新条目或新适配文件更新存储设备中的旧适配文件。考虑到单独设置更新处理进程的方式能够提升gpio策略条目的更新效率,同时可实现带内带外均可修改、替换该文件,进而可实现gpio参数的快速适配,因此将采用这种方式实现gpio策略条目及适配文件的更新机制。需要说明的是,本发明实施例并不限定更新处理进程的具体形式,可参考基板管理控制器及进程开发的相关技术进行设置。
[0048]
在一种可能的情况中,当基板管理控制器中设置有更新处理进程时,在将gpio适配文件写入基板管理控制器的存储设备之后,还可以包括:
[0049]
步骤21:当接收到用户端发送的新gpio适配文件时,利用预设替换命令将新gpio适配文件发送至更新处理进程中,以使更新处理进程利用新gpio适配文件替换存储设备中
的gpio适配文件。
[0050]
具体的,预设替换命令可以为一个ipmi命令(intelligent platform management interface,智能平台管理接口),其格式为:
[0051]
set gpio file:ipmitool raw 0x3c 0x3e+file
[0052]
其中ipmitool raw 0x3c 0x3e为表征替换命令的字段,可具有其他形式;file表示新gpio适配文件。
[0053]
在一种可能的情况中,在将gpio适配文件写入基板管理控制器的存储设备之后,还可以包括:
[0054]
步骤31:当接收到用户端发送的新gpio策略条目时,利用预设修改命令将新gpio策略条目发送至更新处理进程中,以使更新处理进程利用新gpio策略条目修改存储设备中的gpio适配文件。
[0055]
具体的,预设修改命令可以为一个ipmi命令,其格式为:
[0056]
set gpio param:
[0057][0058]
需要说明的是,netfn及cmd字段均为表征修改命令的字段,其默认值(0x3c、0x3f)可进行调整;request data字段用于填写新gpio策略条目的gpio策略信息,其中byte0~byte4表明各字段在预设修改命令中的位置及占用长度。
[0059]
需要说明的是,用户端及执行本gpio策略配置方法的设备既可以为两个单独的设备,也可以为一个设备,可根据实际应用需求进行调整。
[0060]
基于上述实施例,本发明首先利用预设的通用结构体填写了gpio策略信息得到gpio策略条目,其中通用结构体可规整gpio策略信息,利用通用结构体填写gpio策略信息可提升对gpio策略的管理效率;在得到gpio策略条目后,本发明将其写入标准化的gpio适配文件,并将gpio适配文件写入基板管理控制器的存储设备中,以使基板管理控制器根据gpio适配文件中的gpio策略条目执行对应的gpio策略功能,这样,当有新gpio需求或者新服务器机型要适配gpio策略时,仅需要提供一份标准化gpio适配文件,并将该适配文件写入基板管理控制器的存储设备即可,能够提升gpio配置效率并为开发人员及测试人员节省了大部分精力。
[0061]
下面对本发明实施例提供的gpio策略配置装置、电子设备及计算机可读存储介质进行介绍,下文描述的gpio策略配置装置、电子设备及计算机可读存储介质与上文描述的gpio策略配置方法可相互对应参照。
[0062]
请参考图2,图2为本发明实施例所提供的一种gpio策略配置装置的结构框图,该
装置可以包括:
[0063]
通用结构体获取模块201,用于获取预设的通用结构体;
[0064]
信息填写模块202,用于在通用结构体中写入gpio策略信息,得到gpio策略条目;
[0065]
适配文件生成及写入模块203,用于将gpio策略条目写入gpio适配文件,并将gpio适配文件写入基板管理控制器的存储设备中,以使基板管理控制器根据gpio适配文件中的gpio策略条目执行对应的gpio策略功能。
[0066]
可选地,当基板管理控制器中设置有更新处理进程时,该装置还可以包括:
[0067]
替换模块,用于当接收到用户端发送的新gpio适配文件时,利用预设替换命令将新gpio适配文件发送至更新处理进程中,以使更新处理进程利用新gpio适配文件替换存储设备中的gpio适配文件。
[0068]
可选地,该装置还可以包括:
[0069]
修改模块,用于当接收到用户端发送的新gpio策略条目时,利用预设修改命令将新gpio策略条目发送至更新处理进程中,以使更新处理进程利用新gpio策略条目修改存储设备中的gpio适配文件。
[0070]
可选地,适配文件生成及写入模块203,可以包括:
[0071]
固件编译子模块,用于将gpio适配文件编译至基板管理控制器的固件文件中,以使基板管理控制器加载固件文件时,将gpio适配文件写入存储设备。
[0072]
可选地,通用结构体获取模块201获取到的通用结构体中包括功能序列号字段、输入输出方向字段、默认值字段、有效值字段及gpio编号字段。
[0073]
本发明实施例还提供一种电子设备,包括:
[0074]
存储器,用于存储计算机程序;
[0075]
处理器,用于执行计算机程序时实现如上述的gpio策略配置方法的步骤。
[0076]
由于电子设备部分的实施例与gpio策略配置方法部分的实施例相互对应,因此电子设备部分的实施例请参见gpio策略配置方法部分的实施例的描述,这里暂不赘述。
[0077]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的gpio策略配置方法的步骤。
[0078]
由于计算机可读存储介质部分的实施例与gpio策略配置方法部分的实施例相互对应,因此存储介质部分的实施例请参见gpio策略配置方法部分的实施例的描述,这里暂不赘述。
[0079]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0080]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0081]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0082]
以上对本发明所提供的一种gpio策略配置方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
技术特征:
1.一种gpio策略配置方法,其特征在于,包括:获取预设的通用结构体;在所述通用结构体中写入gpio策略信息,得到gpio策略条目;将所述gpio策略条目写入gpio适配文件,并将所述gpio适配文件写入基板管理控制器的存储设备中,以使所述基板管理控制器根据所述gpio适配文件中的gpio策略条目执行对应的gpio策略功能。2.根据权利要求1所述的gpio策略配置方法,其特征在于,当所述基板管理控制器中设置有更新处理进程时,在将所述gpio适配文件写入基板管理控制器的存储设备之后,还包括:当接收到用户端发送的新gpio适配文件时,利用预设替换命令将所述新gpio适配文件发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio适配文件替换所述存储设备中的gpio适配文件。3.根据权利要求2所述的gpio策略配置方法,其特征在于,在将所述gpio适配文件写入基板管理控制器的存储设备之后,还包括:当接收到用户端发送的新gpio策略条目时,利用预设修改命令将所述新gpio策略条目发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio策略条目修改所述存储设备中的gpio适配文件。4.根据权利要求1所述的gpio策略配置方法,其特征在于,所述将所述gpio适配文件写入基板管理控制器的存储设备中,包括:将所述gpio适配文件编译至所述基板管理控制器的固件文件中,以使所述基板管理控制器加载所述固件文件时,将所述gpio适配文件写入所述存储设备。5.根据权利要求1至4任一项所述的gpio策略配置方法,其特征在于,所述通用结构体中包括功能序列号字段、输入输出方向字段、默认值字段、有效值字段及gpio编号字段。6.一种gpio策略配置装置,其特征在于,包括:通用结构体获取模块,用于获取预设的通用结构体;信息填写模块,用于在所述通用结构体中写入gpio策略信息,得到gpio策略条目;适配文件生成及写入模块,用于将所述gpio策略条目写入gpio适配文件,并将所述gpio适配文件写入基板管理控制器的存储设备中,以使所述基板管理控制器根据所述gpio适配文件中的gpio策略条目执行对应的gpio策略功能。7.根据权利要求6所述的gpio策略配置装置,其特征在于,当所述基板管理控制器中设置有更新处理进程时,所述装置还包括:替换模块,用于当接收到用户端发送的新gpio适配文件时,利用预设替换命令将所述新gpio适配文件发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio适配文件替换所述存储设备中的gpio适配文件。8.根据权利要求7所述的gpio策略配置装置,其特征在于,还包括:修改模块,用于当接收到用户端发送的新gpio策略条目时,利用预设修改命令将所述新gpio策略条目发送至所述更新处理进程中,以使所述更新处理进程利用所述新gpio策略条目修改所述存储设备中的gpio适配文件。9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的gpio策略配置方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至5任一项所述的gpio策略配置方法。
技术总结
本发明提供一种GPIO策略配置方法、装置、电子设备及存储介质,方法包括:获取预设的通用结构体;在通用结构体中写入GPIO策略信息,得到GPIO策略条目;将GPIO策略条目写入GPIO适配文件,并将GPIO适配文件写入基板管理控制器的存储设备中,以使基板管理控制器根据GPIO适配文件中的GPIO策略条目执行对应的GPIO策略功能;可利用统一的通用结构体规范GPIO策略条目及GPIO适配文件,进而当有新GPIO需求或者新服务器机型要适配GPIO策略时,仅需要提供一份标准化GPIO适配文件,并将该适配文件写入基板管理控制器的存储设备即可,可提升开发人员及测试人员适配GPIO的效率。测试人员适配GPIO的效率。测试人员适配GPIO的效率。
技术研发人员:张旭
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.12
技术公布日:2022/3/8