基础知识
寄存器
-
Cortex-M 系列 CPU 的寄存器组里有 R0~R15 共 16 个通用寄存器组和若干特殊功能寄存器
-
通用寄存器组里的 R13 作为堆栈指针寄存器 (Stack Pointer,SP);
-
R14 作为连接寄存器 (Link Register,LR),用于在调用子程序时,存储返回地址;
-
R15 作为程序计数器 (Program Counter,PC),其中堆栈指针寄存器可以是主堆栈指针(MSP),也可以是进程堆栈指针(PSP)
-
中断屏蔽寄存器组控制 Cortex-M 的中断除能。
-
控制寄存器用来定义特权级别和当前使用哪个堆栈指针
-
进入异常或中断处理则进入处理模式,其他情况则为线程模式
-
处理模式总是使用 MSP 作为堆栈,线程模式可以选择使用 MSP 或 PSP 作为堆栈,同样通过 CONTROL 特殊寄存