[求助] 关于ucos的任务切换(OSPendSV)中STM R0, {R4-R11}

firstfox   2016-10-17 20:41 楼主
如题,在ucos的PendSV中断中,请问怎么理解STM R0, {R4-R11},看了很多资料说是把R4、R5...R11压栈,但是这里我有一点不明白,这里PSP指针有没有自减,我看的是Cortex-M3权威指南 宋岩译,既然这里把R4-R11压栈了,那PSP必定要自减的,为什么不用STMFD R0!, {R4-R11}???  还是这里FD 、! 可以省略,本人刚入手uCos请大神详细讲解一下。或有相关资料请告知

回复评论 (2)

STM R0, {R4-R11}不是把R4-R11压栈,STM是存储指令,不影响PSP或者MSP,你继续往后看应该还会有一条R0自减0x20的指令,并且会将R0赋给对应任务的栈指针。
亚里士缺德
点赞  2016-10-18 09:04
引用: 汤权 发表于 2016-10-18 09:04
STM R0, {R4-R11}不是把R4-R11压栈,STM是存储指令,不影响PSP或者MSP,你继续往后看应该还会有一条R0自减 ...

懂了,看了数据手册才发现,非常感谢
点赞  2016-10-19 20:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复