こんにちは、
私はカーネル 4.19.94 を実行している組み込み Linux 環境で MMA8451Q 加速度センサを使用しています。目標は、方向が変わったときに加速度センサからの割り込みを検出し、加速度センサの 0x10 レジスタを読み取って実際の方向を判断するカーネル モジュールを作成することです。
これまで、ユーザー空間から i2cset コマンドと i2cget コマンドを使用して、方向が変わったときに割り込みを送信するように MMA8451Q を構成し、この割り込みを正常に検出するカーネル モジュールを作成しました。
現在の問題は、カーネル空間にいるため、加速度センサの 0x10 レジスタを読み取るために、i2c-tools パッケージの単純な i2cget コマンドを使用できなくなったことです。代わりに、C ライブラリを必要とせずにレジスタを読み取るために、 mma8452 カーネル ドライバ(MMA8451Q を含む) を使用しました。残念ながら、このドライバーの使用方法に関するドキュメントや例は見つかりません。モジュールを作成してカーネルにインストールし、ドライバ関数を ISR カーネル モジュールにインポートすることはできましたが、これらの関数をどのように実装すればよいのか、どのような関数が必要なのかさえわかりません。
そこで、MMA8452 ドライバーに関するドキュメントを知っている方がいるかどうかを尋ねています。
また、C ライブラリを使用せずに i2c を介して MMA8451Q のレジスタにアクセスする別の方法(カーネル モジュールで機能する)があれば、SO も機能します。基本的に、レジスタの読み取りという 1 つの単純な機能を実現するために独自のドライバーを作成します。
どなたか助けていただければ幸いです!!
こんにちは、
残念ながら、これ以上のドキュメントや例はありません。前述のとおり、このデバイスは時代遅れです。申し訳ございません。
I2C 操作 (たとえば、単一バイト読み取り) の詳細については、 データシート の 5.11.1 章を確認するか、前で提供されているサンプル コードを参照として使用することをお勧めします。
この情報がお役に立てれば幸いです。
よろしくお願いいたします。
デビッド
こんにちは、
すべてが順調であることを願っています。
残念ながら、私はそのようなドライバを知りません。申し訳ございません。
以下のリンクのドライバの使用を検討しましたか?
Android ™ 、Linux ® 、その他のOS向けのNXPセンサードライバー
よろしくお願いいたします。
デビッド