0

Linux ベースのボードでソフトウェアを起動するプッシュ ボタンをプログラミングしています。Linux ベースの組み込みボードのプッシュ ボタン。その Linux カーネルでは GPIO が機能しなかったため、代わりにイベント インターフェイスを使用しました。ボタンは基本的にボタンの押下をリッスンしてすべてのハードウェアをアクティブにし、2 回押すとハードウェアを停止します。カーネルモジュールとして書くか、ユーザープログラムとして書くか知りたいです。それともデーモンとして?

4

1 に答える 1

1

ユーザースペース(つまりデーモン)でそれを行うことが可能な場合は、そこで行う必要があります。

この場合、両方が必要になる可能性があります。どういうわけかボタンにアクセスする必要がありますが、これはハードウェアがどのように見えるかによって異なります。次に、イベントに応答し、それに基づいてアクションを実行する必要があります。

「ポリシーはカーネルに属していない」というマントラに従うと、これは、カーネルからボタン自体を処理できる(そしておそらくそうする必要がある)一方で、ユーザースペースからアプリケーション部分を開始する必要があることを意味します。カーネルは、新しいユーザースペースプロセスを開始することを目的としてはなりません。代わりに、たとえばネットリンクソケットを介して、偶数をユーザースペースに渡す必要があります。次に、ネットリンクソケットをリッスンし、特定のイベントに応答してアプリケーションを起動するユーザースペースデーモンが必要です。

于 2012-05-13T21:10:32.930 に答える