NVIC(Nested Vectored Interrupt Controller)

NVIC(Nested Vectored Interrupt Controller)ブロックについて説明します。

これは、「ハードウェア構成(NVIC)」を説明した図です。

NVICブロックは、メインコアで実行中の計算処理 を中断し、優先的に行いたい処理に切り替える制御を行います。システム例外発生および割り込みをサポートする機能です。例外処理中に、優先度の高い例外割り込み要求が発生すると、

    1) 処理中の例外を中断する
    2) 優先度の高い例外処理を開始する
    3) 優先度の高い例外処理を完了する
    4) 中断した例外処理を再開する

といった
例外割り込みの処理を入れ子(ネスト)する制御を可能にしています。
この他、オペレーティングシステム(OS)がタスク管理を行うためのハードウェア・タイマーであるSysTickTimerと、デバッグ制御の機能も含ん でいます。

第2章 Arm® Cortex®-M3

ハードウェア構成
メインコア
レジスター構成
レジスターの役割
PC, LR
スタックポインター
スタックポインターへのPUSH/POP
特殊レジスター
動作モードとスタックポインター(1)
動作モードとスタックポインター(2)
例外(リセット,割り込み,フォールト,システムコール)
NVICの役割
NVICによるテールチェーン制御
メモリーマップ
Arm® Cortex®-M3仕様のメモリーマップ
TX03シリーズTMPM330実装例のメモリーマップ
ベクターテーブル(1)
ベクターテーブル(2)
ビットバンド領域とビットバンドエイリアス領域(1)
ビットバンド領域とビットバンドエイリアス領域(2)

※ArmおよびCortexはArm Limited(またはその子会社)のUSまたはその他の国における登録商標です。