System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 设备可执行固件的加载方法、装置、存储介质及电子设备制造方法及图纸_技高网

设备可执行固件的加载方法、装置、存储介质及电子设备制造方法及图纸

技术编号:40964288 阅读:2 留言:0更新日期:2024-04-18 20:43
本申请提供一种设备可执行固件的加载方法、装置、存储介质及电子设备,涉及计算机技术领域,该方法包括:在初始化目标设备的情况下,基于目标设备的设备信息从共享内存中获取标头信息与目标设备的设备信息相匹配的目标固件数据,并通过目标固件数据的标头信息中所包含的循环冗余校验值验证目标固件数据中所包含的目标可执行固件的完整性;之后,在目标可执行固件的完整性验证成功的情况下,执行目标固件数据中所包含的目标可执行固件,以完成目标设备的初始化操作。本申请提供的设备可执行固件的加载方法、装置、存储介质及电子设备,用于提高PCIe设备可执行固件的加载速度,降低PCIe设备的初始化所消耗的时间,以减少对操作系统启动速度的影响。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种设备可执行固件的加载方法、装置、存储介质及电子设备


技术介绍

1、高速串行计算机扩展总线标准可执行固件(pcie oprom)是一种位于计算机主板上的固件程序,用于外部设备的引导和初始化。可执行固件(option rom,oprom)是一种存储在外部设备的读取存储器(read-only memory,rom)芯片中的固件,使用pcie总线进行通信。

2、在相关技术中,当电子设备启动时,基本输入输出系统(basic input outputsystem,bios)会搜索所有已安装的pcie插槽,以寻找包含oprom的pcie设备。若找到具有oprom的pcie设备,计算机bios会将控制权传递给oprom,允许pcie设备执行一系列初始化操作,之后,再将控制权传递给bios,由bios继续进行操作系统的启动。

3、然而,这样的初始化操作所消耗的时间较长,对电子设备的启动时间影响较大。


技术实现思路

1、本申请的目的是提供一种设备可执行固件的加载方法、装置、存储介质及电子设备,用于提高pcie设备可执行固件的加载速度,降低pcie设备的初始化所消耗的时间,以减少对操作系统启动速度的影响。

2、本申请提供一种设备可执行固件的加载方法,包括:

3、在初始化目标设备的情况下,基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,并通过所述目标固件数据的标头信息中所包含的循环冗余校验值验证所述目标固件数据中所包含的目标可执行固件的完整性;在所述目标可执行固件的完整性验证成功的情况下,执行所述目标固件数据中所包含的所述目标可执行固件,以完成所述目标设备的初始化操作;其中,所述目标设备为所述电子设备上设置有高速串行计算机扩展总线标准pcie设备;所述共享内存为基板管理芯片bmc内存中设置的内存空间;所述固件数据包括:标头信息,可执行固件;所述固件数据中的标头信息包括:厂商标识,设备标识,循环冗余校验值。

4、可选地,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,并通过所述目标固件数据的标头信息中所包含的循环冗余校验值验证所述目标固件数据中所包含的目标可执行固件的完整性,包括:获取所述目标设备的目标设备信息;所述目标设备信息包括:所述目标设备的厂商标识,所述目标设备的设备标识;基于所述目标设备信息,从所述共享内存中存储的至少一个固件数据中筛选出标头信息与所述目标设备信息相匹配的所述目标固件数据;计算所述目标固件数据中所述目标可执行固件的第一循环冗余校验值,并将所述第一循环冗余校验值与所述目标固件数据的标头信息中的第二循环冗余校验值进行比较,并生成校验值比较结果;其中,所述校验值比较结果用于对所述目标可执行固件的完整性进行验证。

5、可选地,所述执行所述目标固件数据中所包含的所述目标可执行固件之前,所述方法还包括:在所述第一循环冗余校验值与所述第二循环冗余校验值相同的情况下,确定所述目标可执行固件的完整性验证成功。

6、可选地,所述执行所述目标固件数据中所包含的所述目标可执行固件,包括:控制当前操作的数据指针从当前指向的原始地址移动至所述共享内存中存储所述目标可执行固件的数据块的起始地址;执行所述目标可执行固件的执行函数,并在所述执行函数执行完毕后,控制所述数据指针指向所述原始地址,以完成对所述目标设备的初始化操作。

7、可选地,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据之前,所述方法还包括:开启增强型串行外设接口espi的地址空间映射,并初始化内存映射bmc接口协议,建立所述中央处理器与bmc内存的目标数据通道;其中,所述电子设备通过所述目标数据通道从所述共享内存中获取所述目标固件数据;所述目标数据通道为espi通道。

8、可选地,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据之前,所述方法还包括:在所述电子设备上设置的pcie设备的设备信息受所述目标设备的影响出现变更的情况下,从所述目标设备上获取所述目标可执行固件、所述目标设备的厂商标识以及所述目标设备的设备标识,并将所述目标可执行固件存储到运行内存中;计算所述目标可执行固件对应的循环冗余校验值,并基于所述目标可执行固件对应的循环冗余校验值、所述目标设备的厂商标识以及所述目标设备的设备标识,生成待处理标头信息;将所述待处理标头信息以及所述目标可执行固件进行数据组合,生成所述目标固件数据;将所述目标固件数据从所述运行内存通过所述目标数据通道复制到所述共享内存中。

9、可选地,在初始化目标设备的情况下,基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,包括:在初始化所述目标设备、且所述电子设备上设置的pcie设备的设备信息未变更的情况下,基于所述目标设备的设备信息,通过所述目标数据通道从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据。

10、本申请还提供一种设备可执行固件的加载装置,包括:

11、获取模块,用于在初始化目标设备的情况下,基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,并通过所述目标固件数据的标头信息中所包含的循环冗余校验值验证所述目标固件数据中所包含的目标可执行固件的完整性;执行模块,用于在所述目标可执行固件的完整性验证成功的情况下,执行所述目标固件数据中所包含的所述目标可执行固件,以完成所述目标设备的初始化操作;其中,所述目标设备为所述电子设备上设置有高速串行计算机扩展总线标准pcie设备;所述共享内存为基板管理芯片bmc内存中设置的内存空间;所述固件数据包括:标头信息,可执行固件;所述固件数据中的标头信息包括:厂商标识,设备标识,循环冗余校验值。

12、可选地,所述装置还包括:计算模块;所述获取模块,具体用于获取所述目标设备的目标设备信息;所述目标设备信息包括:所述目标设备的厂商标识,所述目标设备的设备标识;所述获取模块,具体还用于基于所述目标设备信息,从所述共享内存中存储的至少一个固件数据中筛选出标头信息与所述目标设备信息相匹配的所述目标固件数据;所述计算模块,用于计算所述目标固件数据中所述目标可执行固件的第一循环冗余校验值,并将所述第一循环冗余校验值与所述目标固件数据的标头信息中的第二循环冗余校验值进行比较,并生成校验值比较结果;其中,所述校验值比较结果用于对所述目标可执行固件的完整性进行验证。

13、可选地,所述装置还包括:确定模块;所述确定模块,用于在所述第一循环冗余校验值与所述第二循环冗余校验值相同的情况下,确定所述目标可执行固件的完整性验证成功。

14、可选地,所述执行模块,具体用于控制当前操作的数据指针从当前指向的原始地址移本文档来自技高网...

【技术保护点】

1.一种设备可执行固件的加载方法,其特征在于,应用于电子设备,所述电子设备上设置有高速串行计算机扩展总线标准PCIe设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,并通过所述目标固件数据的标头信息中所包含的循环冗余校验值验证所述目标固件数据中所包含的目标可执行固件的完整性,包括:

3.根据权利要求2所述的方法,其特征在于,所述执行所述目标固件数据中所包含的所述目标可执行固件之前,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述执行所述目标固件数据中所包含的所述目标可执行固件,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据之前,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据之前,所述方法还包括:

7.根据权利要求5或6所述的方法,其特征在于,在初始化目标设备的情况下,基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,包括:

8.一种设备可执行固件的加载装置,其特征在于,应用于电子设备,所述电子设备上设置有高速串行计算机扩展总线标准PCIe设备,所述装置包括:

9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述设备可执行固件的加载方法的步骤。

10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述设备可执行固件的加载方法的步骤。

...

【技术特征摘要】

1.一种设备可执行固件的加载方法,其特征在于,应用于电子设备,所述电子设备上设置有高速串行计算机扩展总线标准pcie设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据,并通过所述目标固件数据的标头信息中所包含的循环冗余校验值验证所述目标固件数据中所包含的目标可执行固件的完整性,包括:

3.根据权利要求2所述的方法,其特征在于,所述执行所述目标固件数据中所包含的所述目标可执行固件之前,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述执行所述目标固件数据中所包含的所述目标可执行固件,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述目标设备的设备信息从共享内存中获取标头信息与所述目标设备的设备信息相匹配的目标固件数据之前,所述方法还包括:

6.根据权利要求...

【专利技术属性】
技术研发人员:仇广东芦飞陈鹏孙秀强
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1