我知道 I2C 在一个非常基本的级别,它依赖于 linux 内核,但不知道实现一个基本的 I2C 驱动程序。
尝试在I2C 设备驱动程序中启动。您能否建议任何带有源代码映射的初学者教程!
我知道 I2C 在一个非常基本的级别,它依赖于 linux 内核,但不知道实现一个基本的 I2C 驱动程序。
尝试在I2C 设备驱动程序中启动。您能否建议任何带有源代码映射的初学者教程!
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
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 驱动程序并进一步学习。
查看可用于许多编程语言的 smbus 模块……然后围绕它为您的 i2c 设备编写驱动程序。