使用linux I2C驱动程序

时间:2015-12-22 14:52:27

标签: linux driver linux-device-driver embedded-linux i2c

我需要编写一个Linux设备驱动程序来连接外围显示板,其上有按钮和指示灯。

在驱动程序中,我需要通过I2C读/写外设板上的另一个I2C设备,然后从驱动程序中将按钮事件发送到应用程序代码。

我想我已经设法"模拟"使用输入子系统直到应用程序的键/按钮事件,我对这部分要求非常满意。

但是,我正在努力解决如何通过I2C总线与外设I2C器件进行通信的问题。我不想编写新的I2C通信例程,因为我希望能够使用已经存在的I2C通信API。

我的问题是有很多关于如何通过在内核中使用i2c-dev从应用程序(用户空间)中使用I2C的文档,但我发现在解释如何进行I2C调用方面没有任何帮助在一个特定的I2C总线上,从我自己的驱动程序(我的驱动程序调用i2c驱动程序??)。

我希望这是有道理的,我在互联网上看了很多东西,但似乎没有任何东西可以简单解释。

任何帮助,

由于

1 个答案:

答案 0 :(得分:4)

我们的(免费)培训材料有一个关于i2c子系统的部分: Technical Note TN2151

此外,实际实验室正是为i2c设备编写输入驱动程序:http://free-electrons.com/doc/training/linux-kernel/linux-kernel-slides.pdf