2

私はカーネルプログラミングが初めてで、USB デバイスの dev_t 値を持っています。

ベンダー ID、製品 ID、またはデバイスごとに異なるその他の属性など、デバイスの詳細を取得したいと考えています。これをカーネル空間で行いたいのですが、プログラムを外部モジュールとしてロードする必要はありません。

私は libusb ライブラリに出くわしましたが、私が知る限り、それはユーザー空間で使用されています。私の要件のように、カーネル空間でも libusb を使用することは可能ですか? 可能であれば、カーネルをコンパイルできるように libusb をインポートしてセットアップする方法を教えてください。

4

1 に答える 1

1

このタスクには、ロード可能なカーネル モジュールを作成することをお勧めします。バグを見つけるたびに、カーネルに対してモジュールをコンパイルしてロードするだけです。カーネルには USB 用に定義されたフレームワークがあり、カーネルによって提供される API を使用して、探していることを実行します。ただし、libusb はユーザー空間ライブラリであり、カーネル内で使用する意味はありません。ユーザー空間では、procfs/sysfs を使用して USB 関連の情報にアクセスすることもできます。

于 2013-03-07T08:27:03.523 に答える