![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
i2c分析
longshan_2009
这个作者很懒,什么都没留下…
展开
-
Linux I2C 核心
I2C 核心(drivers/i2c/i2c-core.c)中提供了一组不依赖于硬件平台的接口函数,这个文件一般不需要被工程师修改,但是理解其中的主要函数非常关键,因为I2C 总线驱动和设备驱动之间依赖于 I2C 核心作为纽带。I2C 核心中的主要函数如下。(1)增加/删除 i2c_adapter。int i2c_add_adapter(struct i2c_adapter *转载 2013-04-07 16:07:31 · 704 阅读 · 0 评论 -
Linux I2C 设备驱动
I2C 设备驱动要使用 i2c_driver 和 i2c_client 数据结构并填充其中的成员函数。i2c_client 一般被包含在设备的私有信息结构体yyy_data 中,而 i2c_driver 则适合被定义为全局变量并初始化,下面代码所示为已被初始化的 i2c_driver。static struct i2c_driver yyy_driver ={ .driver =转载 2013-04-08 10:30:06 · 855 阅读 · 0 评论 -
Linux I2C 总线驱动
总线驱动和具体的平台CPU有关,以2440为例:drivers\i2c\busses\I2c-s3c2410.c I2C 适配器驱动加载与卸载I2C 总线驱动模块的加载函数要完成两个工作。1.初始化 I2C 适配器所使用的硬件资源,如申请 I/O 地址、中断号等。2.通过 i2c_add_adapter()添加 i2c_adapter 的数据结构,当然这个 i2c_adapter转载 2013-04-07 16:42:59 · 895 阅读 · 0 评论 -
I2c-dev.c的分析
I2c-dev.c的作用是创建了适配器的节点,为用户空间访问i2c适配器的方法。路径:drivers\i2c\I2c-dev.c一、适配器驱动的初始化卸载:static int __init i2c_dev_init(void){ int res; printk(KERN_INFO "i2c /dev entries driver\n"); res = register_chr原创 2013-04-12 11:53:46 · 1737 阅读 · 0 评论 -
Linux 的 I2C 体系结构
Linux 的 I2C 体系结构分为 3 个组成部分。(1)I2C 核心 drivers\i2c\I2c-core.cI2C 核心提供了 I2C 总线驱动和设备驱动的注册、注销方法,I2C 通信方法(即“algorithm”,笔者认为直译为“运算方法”并不合适,为免引起误解,下文将直接使用“algorithm”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等.(2转载 2013-04-07 15:39:59 · 874 阅读 · 0 评论