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

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

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

第2章 Arm® Cortex®-M3

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

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