CN108287804B - 一种i2c控制器驱动方法及系统 - Google Patents
一种i2c控制器驱动方法及系统 Download PDFInfo
- Publication number
- CN108287804B CN108287804B CN201810073571.6A CN201810073571A CN108287804B CN 108287804 B CN108287804 B CN 108287804B CN 201810073571 A CN201810073571 A CN 201810073571A CN 108287804 B CN108287804 B CN 108287804B
- Authority
- CN
- China
- Prior art keywords
- controller
- address
- message
- interrupt
- clock
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000006870 function Effects 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 238000011161 development Methods 0.000 abstract description 4
- 230000007774 longterm Effects 0.000 abstract description 4
- 239000000523 sample Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- BFBTVZNKWXWKNZ-HWKANZROSA-N (e)-3-[1-[(2,4-dichlorophenyl)methyl]-5-fluoro-3-methylindol-7-yl]-n-(4,5-dichlorothiophen-2-yl)sulfonylprop-2-enamide Chemical compound C12=C(\C=C\C(=O)NS(=O)(=O)C=3SC(Cl)=C(Cl)C=3)C=C(F)C=C2C(C)=CN1CC1=CC=C(Cl)C=C1Cl BFBTVZNKWXWKNZ-HWKANZROSA-N 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种I2C控制器驱动方法及系统,所述方法包括:I2C控制器结构体的实例化;I2C总线发送和接收数据方法的实现;设备树的描述。通过对i2c_adapter的实例化、i2c_algorithm方法的实现以及对设备树的描述,实现了符合最新Linux内核编写要求的I2C控制器驱动,通过采用设备树技术替换老内核使用板级文件的形式来描述硬件资源,将硬件信息从硬编码中剔除,减少了无用代码的存在,利于驱动的长期维护和二次开发;由于本驱动兼容了A3x不同平台I2C控制器的硬件特性,实现了单个驱动文件支持多个I2C控制器的功能;本驱动由于严格遵守设备模型,提供了sys、proc接口,为上层软件提供了足够的底层硬件信息,利于上层软件的编写调试。
Description
技术领域
本发明涉及服务器驱动技术领域,特别是一种I2C控制器驱动方法及系统。
背景技术
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件,然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。
传统ARM Linux中,外设的硬件描述体现在板级文件中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的无用代码,很多代码只是在描述板级细节,而这些板级细节对于内核来讲毫无用处,如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data,且这些无用代码给后期维护带来了不便。
发明内容
本发明的目的是提供一种I2C控制器驱动方法及系统,旨在解决当前I2C控制器驱动对于外设的硬件描述设置在板级文件中,无用代码过多不方便维护的问题,实现剔除无用的冗余编码,利于驱动长期维护和二次开发。
为达到上述技术目的,本发明提供了一种I2C控制器驱动方法,包括以下步骤:
S101、I2C控制器结构体的实例化;
S102、I2C总线发送和接收数据方法的实现;
S103、设备树的描述。
优选地,所述I2C控制器结构体的实例化包括:
解析设备树,获取硬件属性信息;
申请缓冲区,初始化完成量;
获取I/O内存并映射到内核空间;
从平台获取中断信号、注册中断处理函数;
从平台获取使能时钟,设置分频系数并写入硬件寄存器;
软件复位;
实例化i2c_adapter并调用i2c_add_adapter注册到I2C总线。
优选地,所述I2C总线发送和接收数据方法的实现具体为:
对于数组中的每个消息,先判断其消息类型,若为读消息,则赋予从设备地址为:(msg->addr<<1)|1,否则为:msg->addr<<1,对每个消息产生一个开始位,并传送从设备地址,然后开始数据的发送或接收,对最后的消息还需产生一个停止位。
优选地,所述数据的发送或接收,均涉及I2C总线协议的ack应答。
优选地,所述设备树的描述包括:
I2C控制器的初始化;
设置I2C控制器的寄存器起始地址以及地址范围;
使用SPI的39号中断,其中断触发方式是高电平触发;
指定I2C控制器的输入时钟;
指定I2C控制器提供给I2C设备的时钟;
指定I2C控制器的复位引脚;
指定I2C控制器使用的引脚以及引脚状态;
指定挂接在I2C控制器下的I2C设备节点的reg字段的地址。
本发明还提供了一种I2C控制器驱动系统,包括:
控制器实例化模块,用于I2C控制器结构体的实例化;
数据传输模块,用于实现I2C总线数据的发送和接收;
设备树模块,用于对设备树进行描述。
优选地,所述控制器实例化模块包括:
设备树解析单元,用于解析设备树以及获取硬件属性信息;
缓冲区申请单元,用于申请缓冲区,初始化完成量;
I/O映射单元,用于获取I/O内存并映射到内核空间;
中断处理单元,用于从平台获取中断信号、注册中断处理函数;
时钟单元,用于从平台获取使能时钟,设置分频系数并写入硬件寄存器;
复位单元,用于软件复位;
注册单元,用于实例化i2c_adapter并调用i2c_add_adapter注册到I2C总线。
优选地,所述数据传输模块包括:
消息类型判断单元,用于判断消息类型;
地址赋值单元,用于根据消息类型赋予从设备地址;
数据收发单元,用于数据的发送或接收;
停止位单元,用于对最后的消息产生一个停止位。
优选地,所述数据的发送或接收,均涉及I2C总线协议的ack应答。
优选地,所述设备树模块包括:
初始化单元,用于I2C控制器的初始化;
控制器地址设置单元,用于设置I2C控制器的寄存器起始地址以及地址范围;
中断设置单元,用于使用SPI的39号中断,其中断触发方式是高电平触发;
控制器时钟设置单元,用于指定I2C控制器的输入时钟;
设备时钟设置单元,用于指定I2C控制器提供给I2C设备的时钟;
复位引脚设置单元,用于指定I2C控制器的复位引脚;
引脚状态设置单元,用于指定I2C控制器使用的引脚以及引脚状态;
挂接设备地址设置单元,用于指定挂接在I2C控制器下的I2C设备节点的reg字段的地址。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过对i2c_adapter的实例化、i2c_algorithm方法的实现以及对设备树的描述,实现了符合最新Linux内核编写要求的I2C控制器驱动,通过采用设备树技术替换老内核使用板级文件的形式来描述硬件资源,将硬件信息从硬编码中剔除,减少了无用代码的存在,利于驱动的长期维护和二次开发;由于本驱动兼容了A3x不同平台I2C控制器的硬件特性,实现了单个驱动文件支持多个I2C控制器的功能;本驱动由于严格遵守设备模型,提供了sys、proc接口,为上层软件提供了足够的底层硬件信息,利于上层软件的编写调试。
附图说明
图1为本发明实施例中所提供的一种I2C控制器驱动方法流程图;
图2为本发明实施例中所提供的一种I2C控制器驱动系统结构框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种I2C控制器驱动方法及系统进行详细说明。
如图1所示,本发明实施例公开了一种I2C控制器驱动方法,包括以下步骤:
S101、I2C控制器结构体的实例化;
S102、I2C总线发送和接收数据方法的实现;
S103、设备树的描述。
I2C framework中使用结构体i2c_adapter来抽象描述I2C控制器,每一个i2c_adapter对应一个物理上的i2c控制器,在i2c总线驱动probe函数中动态创建。通过i2c_add_adapter注册到i2c_core。
I2C framework中使用结构体i2c_algorithm抽象了通过I2C总线发送和接收数据的方法,i2c_algorithm中的关键函数是master_xfer(),以i2c_msg为单位产生i2c访问需要的信号。不同的平台所对应的master_xfer()是不同的,需要根据所用平台的硬件特性实现各自的xxx_xfer()方法以填充i2c_algorithm的master_xfer指针。
I2C控制器驱动实现过程如下:
1.定义一个i2c_algorithm结构体变量,并根据I2C controller的特性,实现其中的回调函数;
2.在DTS文件(一般都放到DTSI)中,定义I2C controller相关的DTS node;
3.在drives/i2c/busses目录下,以i2c-xxx.c的命名方式,编写I2Ccontroller的platform driver,并提供match id、probe、remove等接口;
4.在platform driver的probe接口中,分配一个adapter结构,并进行必要的初始化操作后,调用i2c_add_adapter或者i2c_add_numbered_adapter接口,将其注册到kernel中即可。
其中主要内容有如下几个部分:
i2c_adapter的实例化:
I2C控制器以platform device身份注册进内核,需要在驱动代码中封装结构体platform_driver:
并需要将compatible成员项匹配设备树节点的compatible字段,只有两者字段完全相同时,platform device和platform_driver才会匹配成功。
通过p2wi_probe函数负责设备枚举,完成软硬件资源的获取、初始化以及结构体i2c_adapter实例化注册,其具体内容如下:
解析设备树,获取硬件属性信息;
申请缓冲区,初始化完成量;
获取I/O内存并映射到内核空间;
从平台获取中断信号、注册中断处理函数;
从平台获取使能时钟,设置分频系数并写入硬件寄存器;
软件复位;
实例化i2c_adapter并调用i2c_add_adapter注册到I2C总线:
ret=i2c_add_adapter(&p2wi->adapter)。
p2wi_remove是p2wi_probe的反过程,用于驱动卸载时软硬件资源的释放。
i2c_algorithm方法的实现:
i2c_algorithm其封装如下所示:
其中,functionality通过一个bitmap通知调用者该i2c_adapter支持的功能,p2wi_functionality返回的是I2C_FUNC_I2C|I2C_FUNC_10BIT_ADDR|I2C_FUNC_SMBUS_BYTE_DATA,表示支持传统的I2C功能、10bit地址以及SMBUS传输协议。
其关键函数master_xfer()用于在I2C适配器上完成传递给它的i2c_msg数组中的每个I2C消息,其流程如下:
对于数组中的每个消息,先判断其消息类型,若为读消息,则赋予从设备地址为:(msg->addr<<1)|1,否则为:msg->addr<<1,对每个消息产生一个开始位,并传送从设备地址,然后开始数据的发送或接收,对最后的消息还需产生一个停止位。所述数据的发送或接收,均涉及I2C总线协议的ack应答。
master_xfer()还包括完成适配器的底层硬件操作,该操作与I2C适配器和cpu的具体硬件直接相关,需根据芯片的数据手册来实现。
设备树的描述:
通过compatible匹配驱动文件中的p2wi_of_match_table成员项,一旦匹配成功,驱动中的probe函数就会被调用,完成I2C控制器的初始化;
设置I2C控制器的寄存器起始地址以及地址范围;
使用SPI的39号中断,其中断触发方式是高电平触发;
指定I2C控制器的输入时钟;
指定I2C控制器提供给i2c设备的时钟;
指定I2C控制器的复位引脚;
指定I2C控制器使用的引脚以及引脚状态;
指定挂接在I2C控制器下的I2C设备节点的reg字段的地址。
本发明实施例通过对i2c_adapter的实例化、i2c_algorithm方法的实现以及对设备树的描述,实现了符合最新Linux内核编写要求的I2C控制器驱动,通过采用设备树技术替换老内核使用板级文件的形式来描述硬件资源,将硬件信息从硬编码中剔除,减少了无用代码的存在,利于驱动的长期维护和二次开发;
由于本驱动兼容了A3x不同平台I2C控制器的硬件特性,实现了单个驱动文件支持多个I2C控制器的功能;
本驱动由于严格遵守设备模型,提供了sys、proc接口,为上层软件提供了足够的底层硬件信息,利于上层软件的编写调试。
如图2所示,本发明实施例还公开了一种I2C控制器驱动系统,包括:
控制器实例化模块,用于I2C控制器结构体的实例化;
数据传输模块,用于实现I2C总线数据的发送和接收;
设备树模块,用于对设备树进行描述。
所述控制器实例化模块包括:
设备树解析单元,用于解析设备树以及获取硬件属性信息;
缓冲区申请单元,用于申请缓冲区,初始化完成量;
I/O映射单元,用于获取I/O内存并映射到内核空间;
中断处理单元,用于从平台获取中断信号、注册中断处理函数;
时钟单元,用于从平台获取使能时钟,设置分频系数并写入硬件寄存器;
复位单元,用于软件复位;
注册单元,用于实例化i2c_adapter并调用i2c_add_adapter注册到i2c总线。
所述数据传输模块包括:
消息类型判断单元,用于判断消息类型;
地址赋值单元,用于根据消息类型赋予从设备地址;
数据收发单元,用于数据的发送或接收;
停止位单元,用于对最后的消息产生一个停止位。
例如,对于数组中的每个消息,先判断其消息类型,若为读消息,则赋予从设备地址为:(msg->addr<<1)|1,否则为:msg->addr<<1,对每个消息产生一个开始位,并传送从设备地址,然后开始数据的发送或接收,对最后的消息还需产生一个停止位。所述数据的发送或接收,均涉及i2c总线协议的ack应答。
所述设备树模块包括:
初始化单元,用于I2C控制器的初始化;
控制器地址设置单元,用于设置I2C控制器的寄存器起始地址以及地址范围;
中断设置单元,用于使用SPI的39号中断,其中断触发方式是高电平触发;
控制器时钟设置单元,用于指定I2C控制器的输入时钟;
设备时钟设置单元,用于指定I2C控制器提供给I2C设备的时钟;
复位引脚设置单元,用于指定I2C控制器的复位引脚;
引脚状态设置单元,用于指定I2C控制器使用的引脚以及引脚状态;
挂接设备地址设置单元,用于指定挂接在I2C控制器下的I2C设备节点的reg字段的地址。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种I2C控制器驱动方法,其特征在于,包括以下步骤:
S101、I2C控制器结构体的实例化;包括:解析设备树,获取硬件属性信息;申请缓冲区,初始化完成量;获取I/O内存并映射到内核空间;从平台获取中断信号、注册中断处理函数;从平台获取使能时钟,设置分频系数并写入硬件寄存器;软件复位;实例化i2c_adapter并调用i2c_add_adapter注册到I2C总线;
S102、I2C总线发送和接收数据方法的实现,对于数组中的每个消息,先判断其消息类型,若为读消息,则赋予从设备地址为:(msg->addr<<1)|1,即msg->addr地址位左移1位且读写标志位置1,否则为:msg->addr<<1,即msg->addr地址位左移1位,对每个消息产生一个开始位,并传送从设备地址,然后开始数据的发送或接收,对最后的消息还需产生一个停止位;
S103、设备树的描述。
2.根据权利要求1所述的一种I2C控制器驱动方法,其特征在于,所述数据的发送或接收,均涉及I2C总线协议的ack应答。
3.根据权利要求1所述的一种I2C控制器驱动方法,其特征在于,所述设备树的描述包括:
I2C控制器的初始化;
设置I2C控制器的寄存器起始地址以及地址范围;
使用SPI的39号中断,其中断触发方式是高电平触发;
指定I2C控制器的输入时钟;
指定I2C控制器提供给I2C设备的时钟;
指定I2C控制器的复位引脚;
指定I2C控制器使用的引脚以及引脚状态;
指定挂接在I2C控制器下的I2C设备节点的reg字段的地址。
4.一种I2C控制器驱动系统,其特征在于,包括:
控制器实例化模块,用于I2C控制器结构体的实例化,包括:解析设备树,获取硬件属性信息;申请缓冲区,初始化完成量;获取I/O内存并映射到内核空间;从平台获取中断信号、注册中断处理函数;从平台获取使能时钟,设置分频系数并写入硬件寄存器;软件复位;实例化i2c_adapter并调用i2c_add_adapter注册到I2C总线;
数据传输模块,用于实现I2C总线数据的发送和接收,对于数组中的每个消息,先判断其消息类型,若为读消息,则赋予从设备地址为:(msg->addr<<1)|1,否则为:msg->addr<<1,对每个消息产生一个开始位,并传送从设备地址,然后开始数据的发送或接收,对最后的消息还需产生一个停止位;
设备树模块,用于对设备树进行描述。
5.根据权利要求4所述的一种I2C控制器驱动系统,其特征在于,所述数据的发送或接收,均涉及I2C总线协议的ack应答。
6.根据权利要求4所述的一种I2C控制器驱动系统,其特征在于,所述设备树模块包括:
初始化单元,用于I2C控制器的初始化;
控制器地址设置单元,用于设置I2C控制器的寄存器起始地址以及地址范围;
中断设置单元,用于使用SPI的39号中断,其中断触发方式是高电平触发;
控制器时钟设置单元,用于指定I2C控制器的输入时钟;
设备时钟设置单元,用于指定I2C控制器提供给I2C设备的时钟;
复位引脚设置单元,用于指定I2C控制器的复位引脚;
引脚状态设置单元,用于指定I2C控制器使用的引脚以及引脚状态;
挂接设备地址设置单元,用于指定挂接在I2C控制器下的I2C设备节点的reg字段的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810073571.6A CN108287804B (zh) | 2018-01-25 | 2018-01-25 | 一种i2c控制器驱动方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810073571.6A CN108287804B (zh) | 2018-01-25 | 2018-01-25 | 一种i2c控制器驱动方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108287804A CN108287804A (zh) | 2018-07-17 |
CN108287804B true CN108287804B (zh) | 2021-12-28 |
Family
ID=62835636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810073571.6A Active CN108287804B (zh) | 2018-01-25 | 2018-01-25 | 一种i2c控制器驱动方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108287804B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656844B (zh) * | 2018-12-03 | 2022-02-22 | 郑州云海信息技术有限公司 | 一种AT24xx EEPROM驱动方法和装置 |
CN110221867A (zh) * | 2019-05-31 | 2019-09-10 | 湖北三江航天万峰科技发展有限公司 | 一种xp系统下脉冲i/o功能卡通信驱动系统及方法 |
CN111177046B (zh) | 2019-12-18 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种多总线设备融合访问的方法及装置 |
CN112463662B (zh) * | 2020-12-16 | 2024-04-05 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
CN113821253B (zh) * | 2021-09-27 | 2024-01-12 | 福建富昌维控电子科技股份有限公司 | 一种Linux下抽象硬件IO符号操作的方法与终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655148A (en) * | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
CN1737780A (zh) * | 2004-08-19 | 2006-02-22 | 国际商业机器公司 | 从一个设备驱动程序向另一个传送信息的系统和方法 |
CN106033399A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | PCIe设备和PCIe总线的管理方法及装置 |
CN106126460A (zh) * | 2016-06-16 | 2016-11-16 | 迈普通信技术股份有限公司 | 热插拔设备预留资源分配方法、装置和系统 |
-
2018
- 2018-01-25 CN CN201810073571.6A patent/CN108287804B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655148A (en) * | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
CN1737780A (zh) * | 2004-08-19 | 2006-02-22 | 国际商业机器公司 | 从一个设备驱动程序向另一个传送信息的系统和方法 |
CN106033399A (zh) * | 2015-03-20 | 2016-10-19 | 中兴通讯股份有限公司 | PCIe设备和PCIe总线的管理方法及装置 |
CN106126460A (zh) * | 2016-06-16 | 2016-11-16 | 迈普通信技术股份有限公司 | 热插拔设备预留资源分配方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108287804A (zh) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287804B (zh) | 一种i2c控制器驱动方法及系统 | |
US11960430B2 (en) | Remote mapping method, apparatus and device for computing resources, and storage medium | |
US9940123B1 (en) | Updating device code through a bus | |
US10846254B2 (en) | Management controller including virtual USB host controller | |
US7672828B2 (en) | Memory access to virtual target device | |
CN103559156B (zh) | 一种fpga与计算机之间的通信系统 | |
US20200201624A1 (en) | State-preserving upgrade of an intelligent server adapter | |
WO2018120780A1 (zh) | PCIe中断方法和系统 | |
CN108268414B (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
KR20070081095A (ko) | 멀티프로세서 시스템, 및 슬레이브 시스템의 부팅 방법 | |
JP2018524751A (ja) | コンピュータデバイス及びコンピュータデバイスによりデータを読み取る/書き込むための方法 | |
JPH06208548A (ja) | スマート・バス制御ユニット | |
US10216664B2 (en) | Remote resource access method and switching device | |
CN113778328B (zh) | 在半导体封装之间引导控制数据 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
US20140075063A1 (en) | Smart device with no AP | |
CN113778934B (zh) | 基于PCIe的高速实时传输系统 | |
KR20050080704A (ko) | 프로세서간 데이터 전송 장치 및 방법 | |
CN105893112B (zh) | 一种虚拟化环境下的数据包处理方法及装置 | |
CN106126452B (zh) | 基于IIC协议的Linux操作系统与裸机通信的方法 | |
US11360926B2 (en) | Configuration management device, configuration management system, configuration management method, and non-transitory computer readable storage medium | |
CN110399099B (zh) | 数据迁移系统及方法 | |
TW201351128A (zh) | 預啟動執行環境測試裝置、方法及系統 | |
CN110554977A (zh) | 数据缓存方法、数据处理方法、计算机设备、存储介质 | |
CN116594951B (zh) | 一种基于fpga的数据传输系统及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |