首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > Linux I2C流程分析(主要是probe的方式)

Linux I2C流程分析(主要是probe的方式)

资料介绍
Linux I2C总线分析(主要是probe的方式)
Linux I2C 总线浅析
㈠ Overview
[pic]

Linux的I2C体系结构分为3个组成部分:
·I2C核心:
I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法(即“algorithm
”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等。这部
分是与平台无关的。
·I2C总线驱动:
I2C总线驱动是对I2C硬件体系结构中适配器端的实现。I2C总线驱动主要包含了I2C适配
器数据结构i2c_adapter、I2C适配器的algorithm数据结构i2c_algorithm和控制I2C适配
器产生通信信号的函数。经由I2C总线驱动的代码,我们可以控制I2C适配器以主控方式
产生开始位、停止位、读写周期,以及以从设备方式被读写、产生ACK等。不同的CPU平
台对应着不同的I2C总线驱动。
总线驱动的职责,是为系统中每个I2C总线增加相应的读写方法。但是总线驱动本身并不
会进行任何的通讯,它只是存在在那里,等待设备驱动调用其函数。
这部分在MTK 6516中是由MTK已经帮我们实现了的,不需要我们更改。
· I2C设备驱动:
I2C设备驱动是对I2C硬件体系结构中设备端的实现。设备一般挂接在受CPU控制的I2C适
配器上,通过I2C适配器与CPU交换数据。I2C设备驱动主要包含了数据结构i2c_driver和
i2c_client,我们需要根据具体设备实现其中的成员函数。在Linux内核源代码中的dri
vers目录下的i2c_dev.c文件,实现了I2C适配器设备文件的功能,应用程序通过“i2c-
%d”文件名并使用文件操作接口open()、write()、read()、ioctl()和close()等来访问
这个设备。应用层可以借用这些接口访问
标签:Linux总线分析主要probe的方
Linux I2C流程分析(主要是probe的方式)
本地下载

评论