web-dev-qa-db-ja.com

LinuxのI2Cドライバー

Linuxカーネルの内部に依存する非常に基本的なレベルのI2Cを知っていますが、基本的なI2Cドライバーを実装する手掛かりはありません。

I2Cデバイスドライバーで移動しようとしています。ソースコードをマッピングした初心者向けのチュートリアルを提案していただけませんか!

13
San

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

32
Ahmed Masud

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ドライバーをググって、さらに勉強することができます。

4
a.saurabh