9

Linux OS でドライバを C でコーディングしたいのですが、非常に難しいと思います。始める方法や参考にする本についてのヒントを得ることができますか? ドライバは、USB ポートからグラフィックス カードまで使用できます!!

どこで本を探せばよいかは知っていますが、どのような基礎知識から始めればよいか知りたいです。ハードウェアの知識が必要ですか? また、私のような初心者に適した書籍はどれですか?

4

8 に答える 8

19

O'Reilly が発行している Rubini と Corbet によるLinux Device Driversから始めます。

無料の PDF ダウンロードとしても利用できます。

于 2009-06-10T14:00:20.327 に答える
7

Rubini と Corbet による「Linux Device Drivers」 (O'Reilley の本) は、Linux Device Drivers の決定版です。

涼しい!Roddy の回答と kristina のコメントで無料の PDF バージョンを参照してください。

于 2009-06-10T13:59:44.150 に答える
5

アマゾンをお試しください!! ドライバー向けの本がたくさんあります。いくつかはサンプル2を持っています!!

于 2009-06-10T13:58:03.547 に答える
5

いくつかのテキスト:

于 2009-06-10T16:05:27.330 に答える
3

ドライバーは、デバイスによって複雑さが大きく異なります。USB ドライバーは、スペクトルの単純な側にあります。GPU ドライバーは非常に複雑であり、通常、これらのドライバーの作成者でさえ、その機能のすべてを知っているわけではありません。私が推奨するのは、ハードウェアの何でも屋になろうとするのではなく、個人的に関心のあるハードウェアのドライバーに焦点を当てることです。長期的にはより簡単になります。

ドキュメントのソースやさまざまな読み物に関する他のすべての回答は的を射ており、そのうちの1つを実際に受け入れる必要があります。

より複雑なドライバー コミュニティの多くには、独自のドメイン固有の情報もあります。GPU ドライバーを作成したい場合、DRI/DRM および Mesa コミュニティーには独自の wiki とメーリング リストがあり、非常に役立ちます。また、独自のドキュメントもあります。http://dri.freedesktop.org/は、http://wiki.x.org/と同様に適切な出発点です。

お役に立てれば!

于 2011-03-13T19:47:11.670 に答える
3

ドライバーの設計に取り掛かる前に、まず優れた C スキルと、おそらく Linux カーネルのノウハウを習得する必要があります。ドライバの設計は簡単ではなく、低レベルでのプログラミングに慣れていない場合は怖がるかもしれません。

私の意見では、C に慣れていない場合はC プログラミング言語をお勧めします。プログラミングのバックグラウンドがある場合は C の入門書です。

于 2009-06-10T15:27:20.307 に答える
1

あなたはここに本当に良い例を持っています

http://www.linuxjournal.com/article/7353

于 2009-08-28T15:02:29.420 に答える
0

現在のドライバーのソースコードを見てください。コードの上にあるコメントを読むだけで、usb rndis ドライバーを作成しました。

カーネル ソースを取得し、/drivers ディレクトリを確認します。USB ドライバーは usb ディレクトリにありますが、ネットワークに関する USB ドライバーは /net/usb にあります。

コメントを読むことで、多くのことを学ぶことができます。

于 2009-08-02T20:05:27.153 に答える