System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种i2c总线热插拔管理方法、装置、电子设备及计算机可读存储介质。
技术介绍
1、i2c总线(inter-integrated circuit,两线式串行总线)是主板设计中一种常用的通信总线,绝大多数的器件会选择i2c总线作为资产信息的数据传输通道,目前常用的方法是增加i2c总线扩展器(i2c-switch)进行i2c总线通道的扩展,将设备挂接在不同通道上,如图1所示的i2c总线拓扑结构。主板cpu侧的软件通过“i2c总线+地址”的总线地址访问i2c设备(i2c-dev),其中,总线地址中的“地址”由硬件设计者提供,可以固定写在代码里,也可以作为命令参数输入,设置后该“地址”值即为固定值。总线地址中的“i2c总线”由i2c总线号唯一确定。通常i2c总线号由操作系统根据现有最大i2c总线号加1的规则动态分配。
2、如图1所示,假设主板cpu的i2c总线号为0,通过i2c-switch扩展出n条i2c总线分别连接主板槽位1~n。扩展出的n条i2c总线的总线号分别为1~n,对应i2c总线分别为i2c-1,i2c-2……i2c-n。当支持热插拔的板卡插入到任一主板槽位时,如主板槽位1或2,根据i2c总线号动态分配规则,该板卡上扩展的m条i2c总线的i2c总线号都是n+1、n+2……n+m,其中,n和m均为自然数,导致该板卡扩展出的i2c总线号与主板槽位的i2c总线号之间并无关联关系。这使得主板cpu侧软件无法根据主板槽位的i2c总线号唯一确定通过板卡挂接在不同通道上的i2c-dev的总线地址,导
技术实现思路
1、本专利技术提供一种i2c总线热插拔管理方法、装置、电子设备及计算机可读存储介质,创建了板卡扩展的i2c总线号与主板槽位的i2c总线号之间的关联关系,方便主板cpu侧软件访问挂接在板卡不同通道上的i2c-dev,具备较好的通用性与可移植性。
2、第一方面,本专利技术提供一种i2c总线热插拔管理方法,包括以下步骤:
3、系统启动时,读取配置文件,根据所述配置文件分别为各个指定主板槽位预留对应的扩展i2c总线号;
4、当检测到有任一板卡插入所述指定主板槽位并且该板卡有i2c总线扩展器时,根据所述指定主板槽位的i2c总线号,为所述任一板卡分配预留的对应的扩展i2c总线号;
5、当所述任一板卡拔出所述指定主板槽位时,释放该板卡的扩展i2c总线号。
6、其中,所述配置文件为设备树源文件或桌面管理接口。
7、所述配置文件用于指示各个指定主板槽位的i2c总线号与预留的用于分配给热插拔板卡的扩展i2c总线号之间对应关系的集合,所述预留的用于分配给热插拔板卡的扩展i2c总线号为一个或者多个连续的编号。
8、所述方法还包括:挂载在所述任一板卡的i2c设备根据分配的对应的扩展i2c总线号生成总线地址进行访问。
9、需要说明的是,所述配置文件中指定主板槽位的i2c总线需支持软件热插拔功能。
10、第二方面,本专利技术提供一种i2c总线热插拔管理装置,具体包括:
11、总线号预留模块,用于系统启动时,读取配置文件,根据所述配置文件分别为各个指定主板槽位预留对应的扩展i2c总线号;
12、总线号分配模块,用于当检测到有任一板卡插入所述指定主板槽位并且该板卡有i2c总线扩展器时,根据所述指定主板槽位的i2c总线号,为所述任一板卡分配预留的对应的扩展i2c总线号;
13、总线号释放模块,用于当所述任一板卡拔出所述指定主板槽位时,释放该板卡的扩展i2c总线号。
14、其中,所述配置文件为设备树源文件或桌面管理接口。
15、所述配置文件用于指示各个指定主板槽位的i2c总线号与预留的用于分配给热插拔板卡的扩展i2c总线号之间对应关系的集合,所述预留的用于分配给热插拔板卡的扩展i2c总线号为一个或者多个连续的编号。
16、所述装置还包括:总线访问模块,用于挂载在所述任一板卡的i2c设备根据分配的对应的扩展i2c总线号生成总线地址进行访问。
17、需要说明的是,所述配置文件中指定主板槽位的i2c总线需支持软件热插拔功能。
18、第三方面,本专利技术提供一种电子设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的机器可读指令,当所述一种电子设备运行时所述处理器执行所述机器可读指令以实现第一方面所述的i2c总线热插拔管理方法。
19、第四方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行如第一方面所述的i2c总线热插拔管理方法。
20、综上所述,本专利技术在系统启动时按照配置文件为指定主板槽位的i2c总线提前预留对应的扩展i2c总线号,确保板卡插入指定主板槽位时分配的板卡扩展i2c总线号与主板槽位的i2c总线号存在关联关系,使得主板cpu侧软件可根据主板槽位的i2c总线号唯一确定通过板卡挂接在不同通道上的i2c-dev的总线地址,方便主板cpu侧软件访问i2c-dev。本专利技术方法实现简单,具有很好的通用性和可移植性,便于系统的管理和维护。
本文档来自技高网...【技术保护点】
1.一种I2C总线热插拔管理方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述配置文件为设备树源文件或桌面管理接口。
3.如权利要求1所述的方法,其特征在于,所述配置文件用于指示各个指定主板槽位的I2C总线号与预留的用于分配给热插拔板卡的扩展I2C总线号之间对应关系的集合,所述预留的用于分配给热插拔板卡的扩展I2C总线号为一个或者多个连续的编号。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
5.一种I2C总线热插拔管理装置,其特征在于,所述装置包括:
6.如权利要求5所述的装置,其特征在于,所述配置文件为设备树源文件或桌面管理接口。
7.如权利要求5所述的装置,其特征在于,所述配置文件用于指示各个指定主板槽位的I2C总线号与预留的用于分配给热插拔板卡的扩展I2C总线号之间对应关系的集合,所述预留的用于分配给热插拔板卡的扩展I2C总线号为一个或者多个连续的编号。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:
9.一种电子设备,其特征在
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序运行时,执行权利要求1-4任一项所述的I2C总线热插拔管理方法。
...【技术特征摘要】
1.一种i2c总线热插拔管理方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述配置文件为设备树源文件或桌面管理接口。
3.如权利要求1所述的方法,其特征在于,所述配置文件用于指示各个指定主板槽位的i2c总线号与预留的用于分配给热插拔板卡的扩展i2c总线号之间对应关系的集合,所述预留的用于分配给热插拔板卡的扩展i2c总线号为一个或者多个连续的编号。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
5.一种i2c总线热插拔管理装置,其特征在于,所述装置包括:
6.如权利要求5所述的装置,其特征在于,所述配置文件为设备树源文件或桌面管理接口。
7.如权利要求5所述的装...
【专利技术属性】
技术研发人员:罗文武,
申请(专利权)人:迈普通信技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。