一. 简介
现在,我们来学习一下如何在
Linux
下开发
I2C
接口器件
驱动,重点是学习
Linux
下的
I2C
驱动框架,按照指定的框架去编写
I2C
设备驱动。
本文来了解以下 Linux下 I2C
驱动框架,框架下的 i2C总线驱动(也就是I2C控制器驱动)。
二. Linux下I2C驱动实验: I2C驱动框架与I2C总线驱动
1. Linux I2C 驱动框架简介
回想一下我们在裸机篇中是怎么编写
AP3216C
驱动的,我们编写了四个文件:
bsp_i2c.c
、
bsp_i2c.h
、
bsp_ap3216c.c
和
bsp_ap3216c.h
。其中前两个是
I.MX6U
的
IIC
接口驱动,后两个文
件是
AP3216C
这个
I2C
设备驱动文件。相当于有两部分驱动:
(1)
I2C
主机驱动。
(2)
I2C
设备驱动。
对于
I2C
主机驱动,一旦编写完成就不需要再做修改,其他的
I2C
设备直接调用主机驱动提供的
API
函数完成读写操作即可。这个正好符合
Linux
的驱动分离与分层的思想,因此,
Linux