3

v4l2 ドライバーのデバッグを有効にするデフォルトのメカニズムはありますか。基本的には/dに設定して動的デバッグのようなものを確認したい。make ファイルのコンパイル時フラグも問題ありません。

現在、以下のように設定していましたが、あまり情報が得られませんでした。

echo -n 0xFFFF>/sys/module/videobuf2_core/parameters/debug

詳細なv4l2ログを取得するのを手伝ってくれる人はいますか?

4

2 に答える 2

2

コードを見てください: 例として、ファイル drivers/media/v4l2-core/v4l2-ioctl.c は、より興味深いものの 1 つかもしれません。これは、ユーザー/カーネル空間の対話の一部を示しているためです。

このファイルには、多くのpr_contpr_infoなどがあります。printkは常に印刷されますが、他のものは有効な場合にのみ何かを行います。これに関するすべての詳細はhttp://lwn.net/Articles/487437/にあります。

厄介な方法は、pr_cont または pr_info の一部を printk に置き換えることです。#define を使用してこれを行うこともできます。それらのうちの 3 つまたは 4 つだけを有効にして、さらに独自の特別なものを追加したい場合は、これが最速の方法かもしれません。

良い方法は、システムがどのように使用されると考えられているかを調べることです。ここでうまく説明されているように、動的デバッグを有効にできるかどうかを試すことができますhttps://lwn.net/Articles/434833/

最後に、最も簡単な方法は、カーネル構成を確認することです。おそらく、ソース ディレクトリにあるコマンドmake menuconfigを既にご存知でしょう。さまざまな設定をすべて編集でき、vi のように / を使用して検索できます。特定のモジュールの横では、通常、デバッグ オプションを有効または無効にすることもできます。それでも不十分な場合は、.config ファイルでカーネルのグローバル デバッグ レベルをいつでも変更できます。

あなたが興味を持っているかもしれない特定のフラグは

CONFIG_VIDEO_ADV_DEBUG
Say Y here to enable advanced debugging functionality on some
V4L devices.
In doubt, say N.

Symbol: VIDEO_ADV_DEBUG [=y]
Prompt: Enable advanced debug functionality on V4L2 drivers
  Location:
    -> Device Drivers
      -> Multimedia support (MEDIA_SUPPORT [=y]) 
  Defined at drivers/media/v4l2-core/Kconfig:11
  Depends on: MEDIA_SUPPORT [=y]

幸運を

于 2014-06-22T10:21:02.160 に答える