Smart210学习记录-----Linux i2c驱动
2016-05-27 15:06
239 查看
一:Linux i2c子系统简介:
1.Linux 的 I2C 体系结构分为 3 个组成部分:
(1) I2C 核心。 I2C 核心提供了 I2C 总线驱动和设备驱动的注册、注销方法,I2C 通信方法(即“algorithm”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等。
(2) I2C 总线驱动。 I2C 总线驱动是对 I2C 硬件体系结构中适配器端的实现,适配器可由 CPU 控制,甚至可以直接集成在 CPU 内部。 I2C 总线驱动主要包含了 I2C 适配器数据结构 i2c_adapter、I2C 适配器的 algorithm 数据结构i2c_algorithm和控制I2C适配器产生通信信号的函数。 经由 I2C 总线驱动的代码,我们可以控制 I2C 适配器以控制方式产生开始位、停止位、读写周期,以及以从设备方式被读写、产生 ACK 等。
(3)I2C 设备驱动。 I2C 设备驱动(也称为客户驱动)是对 I2C 硬件体系结构中设备端的实现,设备一般挂接在受CPU 控制的 I2C 适配器上,通过 I2C 适配器与 CPU 换数据。 I2C 设备驱动主要包含了数据结构 i2c_driver 和 i2c_client,我们需要根据具体设备实现其中的成员函数。
(在 Linux 2.6 内核中,所有的 I C 设备都在 sysfs 文件系统中显示,存于/sys/bus/i2c/目录)
2. i2c中四个主要结构体(i2c.h)
i2c_driver、i2c_client、i2c_adapter 和 i2c_algorithm
I2C对外API
1.Linux 的 I2C 体系结构分为 3 个组成部分:
(1) I2C 核心。 I2C 核心提供了 I2C 总线驱动和设备驱动的注册、注销方法,I2C 通信方法(即“algorithm”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等。
(2) I2C 总线驱动。 I2C 总线驱动是对 I2C 硬件体系结构中适配器端的实现,适配器可由 CPU 控制,甚至可以直接集成在 CPU 内部。 I2C 总线驱动主要包含了 I2C 适配器数据结构 i2c_adapter、I2C 适配器的 algorithm 数据结构i2c_algorithm和控制I2C适配器产生通信信号的函数。 经由 I2C 总线驱动的代码,我们可以控制 I2C 适配器以控制方式产生开始位、停止位、读写周期,以及以从设备方式被读写、产生 ACK 等。
(3)I2C 设备驱动。 I2C 设备驱动(也称为客户驱动)是对 I2C 硬件体系结构中设备端的实现,设备一般挂接在受CPU 控制的 I2C 适配器上,通过 I2C 适配器与 CPU 换数据。 I2C 设备驱动主要包含了数据结构 i2c_driver 和 i2c_client,我们需要根据具体设备实现其中的成员函数。
(在 Linux 2.6 内核中,所有的 I C 设备都在 sysfs 文件系统中显示,存于/sys/bus/i2c/目录)
2. i2c中四个主要结构体(i2c.h)
i2c_driver、i2c_client、i2c_adapter 和 i2c_algorithm
I2C对外API
相关文章推荐
- sk_buff结构
- centos解压.tar.xz 文件的方法
- [置顶] 【Linux】 配置vim
- mycat的一些概念
- 设置CENTOS 7的内外网IP步骤
- 文件系统与文件属性
- Linux centos下使用fdisk扩展分区容量大小
- 普通PC电脑充当Linux服务器
- Unix & Linux笔记(6)
- mycat日志分析
- CentOS Linux解决Device eth0 does not seem to be present
- linux 数据库操作
- Centos简单搭建SVN 服务器
- linux内核编译错误集锦
- CentOS下安装LAMP环境
- error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
- linux下用openssl的RSA算法对文件加密解密
- Centos7.0安装MySql数据库详细步骤
- 基于linux 3.10.49内核添加字符驱动
- iptables防火墙原理