2

gpio_get_valueドライバーでgpio_set_value,を呼び出す必要がありgpio_direction_input/output、関数呼び出しが短時間で返されるように要求するタイミング要件があります5us

この要件を満たすことができgpiolibますか、それとも決定論的ではありませんか? そうでない場合、解決策は何ですか?GPIO レジスタに直接アクセスしますか?

どうもありがとう。

4

1 に答える 1

0

その関数の 1 つを呼び出すには、Linux カーネル関数を実行する必要があるため、少なくとも 2 つのコンテキスト スイッチがあります。1 つはカーネル コードを実行するためのもので、もう 1 つはユーザーランドに戻るためのものです。

これらのスイッチは、割り込みまたはシグナルが実行されると、時間が無駄になる可能性があることを意味します。

とにかく、確定的な時間の締め切りが必要な場合は、リアルタイムのパッチが適用されたカーネルに切り替える必要がありますReal Time linux wiki ホームページ

5us が実現可能かどうかはわかりません。システムの負荷やアクティブなドライバー (たとえば、読み取り/書き込みファイルシステムがあるかどうか) によって異なりますが、テストすることはできます。

于 2012-12-06T14:37:57.517 に答える