System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机硬件和系统管理领域的,特别是涉及一种内存条的初始化方法、装置、设备及存储介质。
技术介绍
1、现有技术中,在面对多编程接口/多芯片的i2c总线和内存条的情况下,由于i2c总线和内存条的初始化通常是分开进行的,两者缺乏联系,导致内存条上电后无法快速确认i2c总线的可用性,且目前还没有针对内存条与i2c总线的读写应用程序编程接口(application programming interface,api)绑定的结构,因此,在内存条初始化过程中需要逐个尝试不同的i2c总线来建立通信连接,导致在读写访问时需要从头开始寻址并找到相应总线的基地址,过程会耗费大量的时间,导致内存条的初始化效率低下。
技术实现思路
1、本专利技术要解决的技术问题是:提供一种内存条的初始化方法、装置、设备及存储介质,提高内存条的初始化效率。
2、为了解决上述技术问题,本专利技术提供了一种内存条的初始化方法,包括:
3、获取服务器中的每个i2c总线对应的i2c总线信息,将所述i2c总线信息存储在预构建的i2c数据结构中,其中,所述i2c总线信息包括i2c初始化状态标志、第一编程接口编号、第一芯片编号和第一控制器编号;
4、获取服务器中的每个内存条对应的内存条信息,将所述内存条信息存储在预构建的内存条数据结构中,其中,所述内存条信息包括内存条上电状态标志、第二编程接口编号、第二芯片编号和第二控制器编号;
5、基于预设的解析器对所述i2c数据结构中的第一
6、获取所述可用i2c总线对应的api函数指针,将所述可用内存条与所述api函数指针进行关联处理;
7、在控制器初始化主函数,遍历到所述可用内存条时,基于所述api函数指针对所述可用内存条进行初始化处理。
8、在一种可能的实现方式中,获取服务器中的每个i2c总线对应的i2c总线信息,具体包括:
9、根据服务器中的所有编程接口编号和所有芯片编号,确定所述服务器中的所有i2c总线;
10、分别对所述所有i2c总线进行初始化处理,基于初始化结果,分别对每个i2c总线设置对应的i2c初始化状态标志;
11、并获取所述每个i2c总线对应的第一编程接口编号、第一芯片编号和第一控制器编号,将所述i2c初始化状态标志、所述第一编程接口编号、所述第一芯片编号和所述第一控制器编号作为所述每个i2c总线对应的i2c总线信息。
12、进一步地,根据服务器中的编程接口编号和芯片编号,能够高效、准确地获取到服务器中所有i2c总线,对所有i2c总线进行初始化处理,基于初始化结果,设置每个i2c总线的初始化状态标志,可以记录每个总线的初始化状态,以便后续能基于初始化状态标志快速从所有i2c总线中得到初始化成功的i2c总线。
13、在一种可能的实现方式中,将所述i2c总线信息存储在预构建的i2c数据结构中后,还包括:
14、根据所述初始化结果,获取所述初始化结果为初始化成功的所有目标i2c总线;
15、获取每个目标i2c总线对应的目标api函数指针,并将所述目标api函数指针存储在预设的堆空间中。
16、进一步地,通过根据初始化结果,筛选出初始化成功的目标i2c设备,可以排除掉初始化失败或有其他问题的设备,只关注可用的设备,有助于减少后续处理的负担,提高系统的稳定性和可靠性;同时通过获取每个目标i2c设备对应的目标api函数指针,并将其存储在预设的堆空间中,可以方便地对api函数进行管理和调用。
17、在一种可能的实现方式中,基于初始化结果,分别对每个i2c总线设置对应的i2c初始化状态标志后,还包括:
18、获取所述i2c初始化状态标志为1的所有第一i2c总线,并实时检测每个第一i2c总线对应的时钟信号;
19、当检测到所述时钟信号为低电平信号,且所述低电平信号的持续时间大于预设时间阈值时,确定当前第一i2c总线出现驱动故障,并将所述当前第一i2c总线对应的所述i2c初始化状态标志调整为0。
20、进一步地,通过实时检测每个第一i2c总线对应的时钟信号,可以监测总线的工作状态,正常情况下,时钟信号会周期性地在高电平和低电平之间切换;因此,通过实时检测时钟信号,可以快速发现异常情况;且一旦确定第一i2c总线出现驱动故障,将对应的i2c初始化状态标志调整为0,这样可以明确标记当前总线的故障状态,使后续操作时能够避免与故障总线的通信交互。
21、在一种可能的实现方式中,获取服务器中的每个内存条对应的内存条信息,具体包括:
22、基于所述服务器中的所有i2c总线,确定所述服务器中的所有内存条;
23、分别对所述所有内存条进行上电处理,基于上电结果,分别对每个内存条设置对应的内存条上电状态标志;
24、获取所述每个内存条对应的第一i2c总线,并基于所述第一i2c总线,确定所述每个内存条对应的第二编程接口编号、第二芯片编号和第二控制器编号;
25、将所述内存条上电状态标志、所述第二编程接口编号、所述第二芯片编号和所述第二控制器编号作为所述每个内存条对应的内存条信息。
26、进一步地,根据服务器中的所有i2c总线,能够高效、准确地获取到服务器中所有内存条,对所有内存条进行上电处理,基于上电结果,设置每个所有内存条的内存条上电状态标志,可以记录每个内存条的上电状态,以便后续能基于内存条上电状态标志快速从所有内存条中得到上电成功的内存条。
27、在一种可能的实现方式中,分别对所述所有内存条进行上电处理,基于上电结果,分别对每个内存条设置对应的内存条上电状态标志,具体包括:
28、分别对每个内存条设置控制与监控端口位;
29、在确定分别向所述所有内存条输入预设电压后,获取每个内存条对应的所述控制与监控端口位的电平跳动状态,当所述控制与监控端口位存在电平跳动时,确定内存条的上电结果为上电成功,否则,确定内存条的上电结果为上电失败;
30、当所述上电结果为上电成功时,设置所述内存条对应的内存条上电状态标志为1,当所述上电结果为上电失败时,设置所述内存条对应的内存条上电状态标志为0。
31、进一步地,通过对每个内存条设置控制与监控端口位,可以实现对每个内存条的控制和监控,通过检测控制与监控端口位的电平跳动状态,可以判断每个内存条的上电结果;这样可以及时发现上电失败的内存条,并为每个内存条设置对应的上电状态标志,可以准确记录每个内存条的上电结果,这样可以在后续操作中方便地判断每个内存条的状态,快速识别出上电失败的内存条。
32、在一种可能的实现方式中,基于预设的解析器对所述i2c数据结构中的第一i2c总线本文档来自技高网...
【技术保护点】
1.一种内存条的初始化方法,其特征在于,包括:
2.如权利要求1所述的一种内存条的初始化方法,其特征在于,获取服务器中的每个I2C总线对应的I2C总线信息,具体包括:
3.如权利要求2所述的一种内存条的初始化方法,其特征在于,将所述I2C总线信息存储在预构建的I2C数据结构中后,还包括:
4.如权利要求2所述的一种内存条的初始化方法,其特征在于,基于初始化结果,分别对每个I2C总线设置对应的I2C初始化状态标志后,还包括:
5.如权利要求2所述的一种内存条的初始化方法,其特征在于,获取服务器中的每个内存条对应的内存条信息,具体包括:
6.如权利要求5所述的一种内存条的初始化方法,其特征在于,分别对所述所有内存条进行上电处理,基于上电结果,分别对每个内存条设置对应的内存条上电状态标志,具体包括:
7.如权利要求6所述的一种内存条的初始化方法,其特征在于,基于预设的解析器对所述I2C数据结构中的第一I2C总线信息以及所述内存条数据结构中的第一内存条信息进行解析,将所述每个第一内存条信息依次与所述所有第一I2C总线
8.一种内存条的初始化装置,其特征在于,包括:I2C总线信息获取模块、内存条信息获取模块、信息解析模块、函数指针关联模块和内存条初始化处理模块;
9.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的内存条的初始化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的内存条的初始化方法。
...【技术特征摘要】
1.一种内存条的初始化方法,其特征在于,包括:
2.如权利要求1所述的一种内存条的初始化方法,其特征在于,获取服务器中的每个i2c总线对应的i2c总线信息,具体包括:
3.如权利要求2所述的一种内存条的初始化方法,其特征在于,将所述i2c总线信息存储在预构建的i2c数据结构中后,还包括:
4.如权利要求2所述的一种内存条的初始化方法,其特征在于,基于初始化结果,分别对每个i2c总线设置对应的i2c初始化状态标志后,还包括:
5.如权利要求2所述的一种内存条的初始化方法,其特征在于,获取服务器中的每个内存条对应的内存条信息,具体包括:
6.如权利要求5所述的一种内存条的初始化方法,其特征在于,分别对所述所有内存条进行上电处理,基于上电结果,分别对每个内存条设置对应的内存条上电状态标志,具体包括:
7.如权利要求6所述的一种内存条的初始化方法,其特征...
【专利技术属性】
技术研发人员:汤彩芸,陈松,刘洋,
申请(专利权)人:上海合芯数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。