3

私が持っている特別なカメラ デバイス用の V4L2 準拠のドライバーを作成しようとしていますが、そのデバイスは V4L2 のバッファー システムに特に適していないようです。個別に割り当てられたバッファーの代わりに、一連のバッファー (通常は 4) を保持できる単一の連続したメモリ ブロックが必要であり、最新のものを示すステータス レジスタを提供します (各フレームが DMA された後に更新されます)。ホストに)。したがって、基本的には、動作するために 1 つの大きな DMA 割り当てメモリ チャンクのみが必要です。

これを V4L で使用するにはどうすればよいですか? について私が見るものはすべてVIDIOC_CREATE_BUFSVIDIOC_REQBUFSバッファの内部割り当てを行い、V4L ベースのものを取得できません (qv4l2成功せずに動作QBUFDQBUF、内部構造を使用するなど)。

これはどのように行うことができますか?

4

1 に答える 1

1

最後に、「meye」ドライバーで解決策を見つけました。VB2 をすべて削除し、独自の reqbuf、querybuf、qbuf、および dqbuf と、割り当てを処理する独自の mmap ルーチンを作成しました。そして、それはすべて機能します!

于 2014-06-28T15:23:13.697 に答える