Handler模式一直使用MSP,所以在handler模式下处理器会忽略SPSEL位;异常进入及返回机制会更新CONTROL寄存器。
在操作系统的环境中,推荐线程在Thread模式下运行使用PSP,内核和异常处理使用MSP。
此外,线程模式下默认使用MSP,为了切换为PSP可以:
当切换堆栈指针时,软件必须在MSR指令后立即使用ISB指令。这是为了确保在ISB之后执行的指令都是用的新的堆栈指针。
CMSIS定义了:
原文:https://www.cnblogs.com/qiyuexin/p/12622952.html