使用linux I2C驱动

mr_*_*bdf 2 linux driver i2c linux-device-driver embedded-linux

我需要编写一个 Linux 设备驱动程序来连接到带有按钮和 LED 的外围显示板。

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

我想我已经设法使用输入子系统将键/按钮事件“模拟”到应用程序,我对这部分要求感到相当满意。

但是,我正在努力解决如何通过 I2C 总线与外围 I2C 设备交谈。我不想编写新的 I2C 通信例程,因为我希望可以使用已经存在的 I2C 通信 API。

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

我希望这是有道理的,我在互联网上看了很多东西,但似乎没有什么能简单地解释事情。

任何帮助apprciated,

谢谢

Ale*_*oni 6

我们的(免费)培训材料有一个关于 i2c 子系统的部分:http : //free-electrons.com/doc/training/linux-kernel/linux-kernel-slides.pdf

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