Cortex-M3有15个通用寄存器R0-R15,其中R0-R7所有指令都能访问它们。R8-R12这5个寄存器32位的所有指令都能访问,16位指令只有少部分能访问。R13是堆栈指针,又可分为两种:MSP(主堆栈指针)和PSP(进程堆栈指针)。R14是连接寄存器,用于在调用子程序时存储返回地址。R15时程序计数器。
控制寄存器(CONTROL)是Cortex-M3内核的特殊功能寄存器之一。bit3-bit32保留,bit2是Cortex-M4才有,Cortex-M3没有。bit1是堆栈指针选择位,为0时选择主堆栈指针MSP(复位后缺省值),为1时选择进程堆栈指针。在handler mode中只允许使用MSP,该位只能为0.bit0是在Thread mode下的模式选择:0是特权级,1是用户级。且该位仅当在特权级下才允许修改该位。
Cortex-M3处理器支持两种操作模式:Handler mode和Thread mode。Thread mode又可分为特权级和用户级,而Hander mode永远都是特权级的。
Cortex-M3基础
最新推荐文章于 2024-07-17 14:47:45 发布