動作モードとスタックポインター(1)

Arm® Cortex®-M3は2つの特権レベル(特権・非特権)と2つの動作モード(スレッド・ハンドラー)があります。組み込み用途としては、特権レベルのみの基本的な構成と、特権/非特権を切り替える構成を選択出来ます。特権/非特権レベルで、レジスターR13に割り当てられているメインスタック(MSP)とプロセススタック(PSP)を切り替える事で、OSカーネルなどの処理とユーザールーチンでスタック領域を分離し管理する事が出来ます。

これは、「基本的システム」を説明した図です。
これは「RTOSを使うシステム」を説明した図です。

第2章 Arm® Cortex®-M3

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

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