[国嵌攻略][154][Linux-I2C子系统]

IIC子系统架构

device driver层:

1.device driver,由用户开发。

2.i2c-dev由内核实现,但是需要配合应用模式驱动才能使用。

i2c core层:

1.总线驱动,也叫控制器驱动。实现对i2c控制器的操作方法。

2.i2c核心。关联设备驱动和总线驱动,提供设备的注册和注销方法。

 

I2C控制器驱动

开发I2C设备驱动的方法有两种,一种是自己写驱动,另一种是通过通用驱动来编写用户模式驱动。i2c_adapter用来描述i2c设备。i2c_algorithm用来封装传输方法,提供给i2c设备和i2c_dev来控制i2c总线。i2c控制器驱动在/derivers/i2c/busses/i2c-s3c2410.c文件中。

当有数据要发送到i2c总线上的时候,i2c设备驱动会先找到i2c核心,然后i2c核心找到i2c adapter,通过algorithm来发送数据。

posted @ 2016-03-17 16:44  盛夏夜  阅读(187)  评论(0编辑  收藏  举报