omap4460 パンダ ボード用の Linux i2c ドライバーを作成しようとしています。Hmc5883l センサーを i2c インターフェイスを介して omap に接続します。クライアント ダイバーのみを記述する必要がありますか、それともクライアントとバス ドライバーの両方を記述する必要がありますか。パンダボードでLinux ubuntuを使用しています。どこから始めればよいか教えてください。
ありがとう。
Linux カーネルには、omap4460 用のバス ドライバーが既に存在します。カーネル メッセージを調べて、ブート中にこのドライバーが有効になっているかどうかを確認できます。デバイスへのアクセスだけに関心がある場合は、クライアント ドライバーを作成しなくても、ユーザー空間からアクセスできます。ここに良いチュートリアルがあります。しかし、演習としてドライバーを作成している場合、またはドライバーの他のカーネル機能にアクセスする必要がある場合は、カーネルの drivers/rtc ディレクトリにある任意のドライバーを見ることができます。そこには良い例がたくさんあります。
drivers/staging/iio/magnetometer で hmc5843 用のiioドライバーが見つかりました。これは、必要なものと非常によく似ています。運が良ければ、変更を加えることなくすぐに動作する可能性があります。