Cortex m4 プロセッサを 1 秒弱スリープさせようとしています。スリープ状態にしてから 1 秒後に、またはボタンが押されたときに、中断したところから再開できるようにしたいと考えています。リファレンス マニュアルを調べたところ、VLPS モードが私のニーズに合っているようです。そのモードへの入り方や のプログラム方法がわかりませんNVIC
。
詳細情報: ベア メタルの C でこれを行っています。
Cortex m4 プロセッサを 1 秒弱スリープさせようとしています。スリープ状態にしてから 1 秒後に、またはボタンが押されたときに、中断したところから再開できるようにしたいと考えています。リファレンス マニュアルを調べたところ、VLPS モードが私のニーズに合っているようです。そのモードへの入り方や のプログラム方法がわかりませんNVIC
。
詳細情報: ベア メタルの C でこれを行っています。
このデモを実装するコードをダウンロードして調べることができます。デモは RTOS 用ですが、CPU をスリープ モードにするために使用されるコードは、RTOS が使用されていても、アプリケーションがベア メタルで実行されていても同じです。
Cortex-M3 コアを低電力状態にするために実行できる一般的な方法があります (WFI 命令を参照)。極端に低い電力を得るには、チップ固有のことも行う必要があります。上記のリンクされたコードは、WFI を呼び出す前にいくつかのチップ固有のプレスリープ処理 (周辺機器のターン、チップ自体のスリープ モードの設定など) を実行し、WFI 命令から戻るときにいくつかのチップ固有の処理を実行します。
Cortex M4 をスリープ状態から復帰させるために RTOS は必要ありません。必要なのは割り込み (ISR) を使用することです。製造元のマニュアルを参照してください。タイマー (ISR) またはボタンで復帰することができます。 (GPIO)特定のチップのスリープ休止モードに応じて。これについては、より詳細なARMドキュメントがあります。
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/BABGGICD.html