マイコンの割り込み優先度、変更する理由とその仕組み:Q&Aで学ぶマイコン講座(112)(4/4 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「割り込み優先度」についてです。
優先度に関するその他の機能
Arm Cortex-Mプロセッサには、ピンポイントで、割り込み順位を制御する機能があります。PRIMASKとFAULTMASKとBASEPRIです。これらのマスクレジスタはMRS命令とMSR命令でアクセスします。
PRIMASKを設定すると、実行優先権は0に上げられます。すなわち、NMIとハードフォールト以外の全ての割り込みが禁止されます。
FAULTMASKを設定すると、実行優先権は-1に上げられます。すなわち、NMI以外の全ての割り込みが禁止されます。
BASEPRIを設定すると、特定の優先度N(最も低い構成可能な優先度)またはN以下の優先度の低い割り込みが全て禁止されます。Nは各マイコン製品で実装されているビット数に依存します。最大で9ビットです。0でない値は優先度マスクとして動作します。これによって定義された優先度が同じであるか、または現在実行されている優先度よりも高いときに、実行優先度に影響します。
PRIMASKとBASEPRIは、一時的に割り込みを無効にする時に役立ちます。FAULTMASKは一時的にフォールト処理を無効にする時に役立ちます。
PRIMASKとFAULTMASKは、非特権アクセス(ユーザーアクセス)状態ではセットできません。
これらのメカニズムは横取り優先度にだけ影響し、サブ優先度には影響ありません。
注意点
今回は、Arm Cortex-Mプロセッサを搭載しているSTM32L4シリーズを題材にして解説しましたが、同じArm Cortex-Mプロセッサが搭載されているマイコンでも、割り込みの仕様はさまざまです。必ずマニュアルを確認して使用してください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
マイコンの外部クロックと内部クロックの違い 種類や役割を一気に解説
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「外部クロックと内部クロック」についてです。
マイコンのクロックセキュリティシステムって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「クロックセキュリティシステム」についてです。
低速読み出しフラッシュメモリでも、CPUが高速動作できる工夫とは?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「低速読み出しフラッシュメモリでも、CPUが高速動作できる工夫とは?」についてです。
Arm Cortex-Mのメモリプロテクションユニット(MPU)って何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級〜上級者の方からよく質問される「Arm Cortex-Mメモリプロテクションユニット(MPU)のメリット」について解説します。
A-Dコンバーターの4つのトラブル事例と対策
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「A-Dコンバーターのトラブル例」についてです。
マイコンの低消費UART、普通のUARTと何が違う?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「普通のUARTと低消費UARTと何が違う?」についてです。