自动保存
当进入中断时,Cortex-M 内核会自动将以下寄存器压入当前使用的栈(主栈 MSP 或进程栈 PSP):
被压栈寄存器 | 含义 |
---|
R0-R3 | 通用寄存器 |
R12 | 一般寄存器 |
LR(R14) | 链接寄存器 |
PC(R15) | 程序计数器 |
xPSR | 程序状态寄存器 |
进中断,将寄存器压栈;
中断返回时,寄存器值弹出,恢复到中断进入前的状态。
+-------------------+ <- 高地址
| |
| 用户栈 (PSP) |
| |
+-------------------+
| |
| 主栈 (MSP) |
| |
+-------------------+ <- 低地址