STM32 双堆栈

参考文献

https://blog.****.net/Guet_Kite/article/details/76020069

栈指针的选择

  • 如果当响应异常时,当前的代码正在使用 PSP,则压入 PSP,即使用线程堆栈;否则压入 MSP,使用主堆栈。
  • 一旦进入了中断服务程序,CPU 就将一直使用主堆栈(MSP),保存中断函数中的局部变量
  • 在uC/OS-II中利用的就是 LR 的位 2 来进行堆栈模式的切换(ORR LR, LR, #0x04 将位 2 赋 1)

源码解析

STM32 双堆栈
STM32 双堆栈
STM32 双堆栈