2017-10-06 29 views
1

すべて、 私のコードでは、ARM V8でWFIを入力したいと考えています。私はLinux上でアプリケーションを実行しています。 wfi()を呼び出して割り込みを待ちます。プロセッサコアが実際にWFIモードに入ったかどうかを確認する方法はありますか?ARM WFIの確認

に関して、 ラヴィ

+0

私はこれをまっすぐにしましょう。 Linuxで実行されているユーザーモードプロセスからWFI命令を実行したいですか?私はちょうど "なぜ?"と尋ねなければなりません。そして、あなたは何が起こると思いますか? –

+0

カウンターなどの後ろにprintステートメントを置いてください。 –

答えて

0

あなたは、特権コード - カーネル空間を実行している場合、あなたはおそらくwfi命令の前と後の単一のアセンブリ命令で(好ましくはFGPIO付き)GPIOを切り替えることができコード - 。

カーネル空間で実行していない場合は、UIOを使用して同じことをしたいと思うかもしれませんが、かなり面倒です。

+0

この情報はカーネルスペースでのみ取得しようとしています。コアがどのくらい頻繁に起きているのか、どの割込みが原因で起きているのかをシステムレベルの情報で知りたい。 – Ravikumar

+0

さて、GPIOをスリープ状態にする前に設定してください。オシロスコープでトリガーを使用して、どれくらいの時間スリープ/スリープ状態になっているかを確認します。あなたの帯域幅を気にしてください。 これを行うことができない場合は、スリープ状態になる前にRTCの値を取得してから、起きるとRTCの値をダンプします。私はデバイスを知らないが、RTCは通常ミリ秒であるが、任意の秒秒のカウンタで数秒かかることもある。 フラグが設定されている割り込みを確認するには、個々のステータスフラグ(ARM用のグローバルNVICレジスタがあります)をチェックする必要があります。これが役立つ場合、これを答えに加えることができます。 –

関連する問題