/ dev / pcan0を作成し、/ dev / pcan1をnetdevドライバーとしてコンパイルするドライバー(PCカード用のPCANドライバー、rtdmを使用)を受け取りました。
このドライバーには多くの機能が付属していますが、それらはすべて、CANメッセージを読み取るユーザーレベルのプログラムを対象としています。ただし、必要なのは、カーネルモジュールからこれらのメッセージを読み取ることです。PCANドライバーは変数/関数をエクスポートしません。つまり、使用するカーネルレベルのAPIを提供しません。
copy_from_user
コードを簡単に見て、/ devデバイスから読み取って、またはを使用せずに書き込みますcopy_to_user
。したがって、カーネルモジュールから/ dev / pcan0を開いて、そこから読み取るのは安全だと思いました。
今私の質問は、カーネルモジュールから/ devデバイスを開く/読み取るにはどうすればよいですか?
PS RTAIリアルタイムスレッドからCANバスから読み取りたいのですが、それが問題を引き起こすと思いますか(たとえば、すべての読み取りがLinuxカーネルを通過し、リアルタイム条件を壊しますか?)