programmers model

 

 

 Handler模式一直使用MSP,所以在handler模式下处理器会忽略SPSEL位;异常进入及返回机制会更新CONTROL寄存器。

在操作系统的环境中,推荐线程在Thread模式下运行使用PSP,内核和异常处理使用MSP。

此外,线程模式下默认使用MSP,为了切换为PSP可以:

  • 使用MSR指令把CONTROL的SPSEL置1
  • 或者完成一个适当的EXC_RETURN值异常返回到Thread模式

 当切换堆栈指针时,软件必须在MSR指令后立即使用ISB指令。这是为了确保在ISB之后执行的指令都是用的新的堆栈指针。

 

CMSIS, the cortex microcontroller software interface standard

CMSIS定义了:

  • 一个公共的方法去:
    • 访问外设寄存器
    • 定义异常向量
  • 名称:
    • 内核的寄存器
    • 内核的异常向量
  • 与设备无关的RTOS内核接口,包括一个调试通道

 

posted @ 2020-04-02 21:09  QIYUEXIN  阅读(199)  评论(0编辑  收藏  举报