嵌入式学习小组
直播中

侯屏早

7年用户 176经验值
私信 关注

STM到底操作是MSP还是PSP?

SUBS    R0, R0, #0x20                                       ; Save remaining regs r4-11 on process stack
    STM     R0, {R4-R11}
这个是UCOS 中保存当前环境的汇编。
网上看的说的M3 内核 中断使用的栈是MSP 其他可以使用PSP
现在问题来了,STM 到底操作是MSP 还是PSP
MSP进入中断指向那个地方?
为什么要减8个32位字节单元,然后压栈保存当前环境。

回帖(2)

石双厚

2019-8-26 09:43:18
1、任务使用的肯定是PSP,中断和其他的使用MSP。如果没用用系统的话默认直接使用的MSP。
2、R4到R11是不是8个寄存器?
举报

朱燕媚

2019-8-26 09:51:38
是的,压栈是往下增加,地址相应的是从大地址到小地址。
他是先减去32个字节,这个相当于是压了空栈,这个内存段不是空了32个字节吗。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分