2016-07-20 54 views
0

私はYoctoでiMX53qsbを使用しています。ボタンを押してスクリプトを実行したいと思います。今私はユーザーボタン(gpioとして)の割り込みを有効にしているが、私はそれを処理する方法を想像することはできません。Yoctoのgpio割り込みにスクリプトを割り当てます。

誰も私にこの割り込みを処理する方法を教えてもらえますか、これについてもっと読むことができますか?

ボタンはVolume_up(GPIO_2_14)で、gpioとして設定され、割り込みイベントは立ち下がりエッジです。

174: 0 - gpiolib 

と2番目の列は、すべての押しにカウントされます。 猫の/ procに/私は以下を参照してください中断します。

+0

スタックオーバーフローへようこそ: [ask] と[mcve]の作成方法をご覧ください。これは便利な答えを得るのに役立ちます。 – JimHawkins

+0

ty、@JimHawkins、私はこれを読んだ:) –

答えて

0

これは長くてハードな道で、今は動作します。 最後に、GPIOはカーネルモジュールではなくsysfsによって処理されます(なぜなら、ユーザースペーススクリプトはカーネルスペースから呼び出すことができないからです)。私の場合のステップシーケンスで

次のようになります。

  1. 編集ハードウェア記述ファイルを(それがボタンとして定義され、デフォルトでは、アーチ/腕/マッハ-MX5/mx53_loco.c)GPIOとしてボタンピンを有効にします;
  2. sysfsを介してGPIOを設定する(GPIOピンのエクスポート、方向の設定、エッジの設定)。
  3. 希望するGPIOをポーリングするプログラムを書くのはpoll()です。
  4. バックグラウンドでのシステム起動時にポーリングプログラムを開始します。
関連する問題