問題タブ [userspace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multidimensional-array - ユーザー空間で read() 関数を介してカーネル デバイス ドライバーから 2D 配列を取得する方法
Linux デバイス ドライバーを作成しています。ドライバーはデータを準備し、システム API の read() を使用してデータをユーザー空間に読み込む必要があります。デバイスドライバーで read() 関数を認識したとき、関数が
1D 配列がある場合、copy_to_user(user,kernel,len) を使用するのは簡単ですが、私のデータは 2D 配列です。私の方法は 2D データを 1D に変更することですが、この問題を解決する他の方法はありますか? ありがとう。
c - ユーザー空間からレジスタ アドレスを提供せずにワード (2 バイト) を読み取る
ユーザー空間で C から i2c 環境光センサー BH1750 を読み取ろうとしています。Linux で BeagleBone ポケットを使用しています。
データシートによると、測定操作の後、次の i2c シーケンスで結果を読み取る必要がありますS Adr Rd (A) (Data) A (Data) NA P
。
私が遭遇した問題: 私が見つけたすべての例/コマンドは、1 バイトしか読み取っていないか、さらに読み取るためにレジスタ アドレスが必要です。
私が見つけた最も近いものは、次のコマンドでした: i2c_master_recv()
. ただし、ドキュメントの私の解釈は、このコマンドがkernel-device-driversで使用されているということです。
ユーザー空間からこのような I2C-Read-Sequence を発行するにはどうすればよいですか?