私が指定したメモリアドレス空間を/ dev / fb0にマップするLinuxドライバを作成したいと思います。
ドライバはLinuxのどの部分で指定する必要がありますか? drmやフレームバッファ、serverXのようなものですか?私のドライバにはどのようなプロパティが必要ですか?
答え1
ドライバはLinuxカーネルモジュールです。
Linuxカーネルのソースコードをダウンロードし、既存のフレームバッファドライバコードを見てくださいdrivers/video/fbdev
(githubここ)とDocumentation/fb
(フラッグハブ)。 Google でカーネルモジュールを作成し、簡単なモジュールを練習する方法のチュートリアルをご覧ください。
メモリをマッピングするだけでは十分ではありません。何かを実装する必要がありますioctl
。
カーネルドライバを書くのは簡単ではありません。この種の質問を必ずしなければならないならば(過去数日間多く聞いてみましたが)おそらくそうすることはできないでしょう。
XはXプロトコル用のサーバーです。 DRMカーネルモジュールまたはフレームバッファドライバ(fbdev
Xドライバを使用)を介してハードウェアを使用できます。詳細については、Google オンラインで簡単に見つけることができます。/dev/fb0
フレームバッファ装置なので、XやDRMについて心配する必要はありません。