Linux中的I2C驱动程序

时间:2013-05-24 06:05:06

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

我知道I2C在一个非常基本的层面,它依赖于Linux内核,但没有线索来实现一个基本的I2C驱动程序。

尝试在 I2C 设备驱动程序中开始移动。 你能不能建议任何有源代码映射的初学者教程!!

3 个答案:

答案 0 :(得分:28)

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

答案 1 :(得分: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驱动程序并进一步学习。

答案 2 :(得分:-2)

看一下可用于许多编程语言的smbus模块......然后为你的i2c设备编写驱动程序。