0

ユーザー空間で動作する PCI デバイス ドライバーを作成しようとしています。私の考えではなく、クライアントが何を望んでいるのか。ターゲットは、1 人以上のユーザーを持つことのない組み込み Linux ボードです。私は経験豊富な C プログラマーであり、Linux については知っていますが、Linux ドライバーの開発については詳しくありません。

これは本当にデバイス ドライバーですか、それとも単なるライブラリですか? 通常の呼び出し pci_register_driver などを使用する必要がありますか? それとも、fopen を使用してデバイスにアクセスし、mmap と ioperm を使用してデバイスにアクセスできますか?

割り込みは MSI モデルを使用して行われます。また、DMA 転送を処理する必要があります。デバイスは大量のデータをユーザーにストリーミングします。

このテーマに関する情報はあまりありません.LDD3は数ページしか割いていません.SOでここで見つけることができるものは他にありません.

前もって感謝します!

4

2 に答える 2

1

vfio と呼ばれる高性能のユーザー空間 PCI ドライバーを実行する適切な方法が用意されました。多くのドキュメントはありませんが、カーネル ドキュメントhttp://lxr.free-electrons.com/source/Documentation/vfio.txtとヘッダー ファイル /usr/include/linux.vfio.h を参照してください。Linux 3.6 以降で利用できます。

于 2014-01-17T23:19:10.690 に答える