我知道I2C在一个非常基本的层面,它依赖于Linux内核,但没有线索来实现一个基本的I2C驱动程序。
尝试在 I2C 设备驱动程序中开始移动。 你能不能建议任何有源代码映射的初学者教程!!
答案 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设备编写驱动程序。