14

我知道 I2C 在一个非常基本的级别,它依赖于 linux 内核,但不知道实现一个基本的 I2C 驱动程序。

尝试在I2C 设备驱动程序中启动。您能否建议任何带有源代码映射的初学者教程!

4

3 回答 3

35

linux-source/Documentation/i2c/ 有很多你需要的信息。.../writing-clients.txt 是一个很好的起点。

看看在线版本:

https://www.kernel.org/doc/Documentation/i2c/writing-clients

有一个不错的教程:

http://renjucnair.blogspot.ca/2012/01/writing-i2c-client-driver.html

这是对编写 i2c 驱动程序的人的一个很好的评论,并且对它有一种教程的感觉:

http://www.embedded-bits.co.uk/2009/i2c-in-the-2632-linux-kernel/

这是一些示例代码:

http://code.google.com/p/ldd-templates/source/browse/drivers/i2c/sample-i2c-client.c

于 2013-05-24T07:59:19.883 回答
4

I2C驱动在linux内核中作为平台驱动实现。所以首先你需要了解平台设备的linux模型。

请浏览以下关于平台设备的 linux 内核文档: https ://www.kernel.org/doc/Documentation/driver-model/platform.txt

您还需要了解linux内核下的总线结构。请参考以下链接: http ://www.mjmwired.net/kernel/Documentation/driver-model/bus.txt

现在你可以用谷歌搜索 I2C 驱动程序并进一步学习。

于 2013-05-24T21:06:12.780 回答
-2

查看可用于许多编程语言的 smbus 模块……然后围绕它为您的 i2c 设备编写驱动程序。

于 2017-09-13T16:11:44.353 回答