Fans realtime Operating System

fans-rt 实时操作系统开发

fans-rt 任务调度-堆栈切换篇(3)关于cortex-m3堆栈的入栈顺序说明

cortex-m3 STM32 MCU支持单条PUSH/POP指令对多个寄存器执行入栈出栈操作,入栈顺序按照寄存器编号的反序进行入栈,不以用户的编码顺序进行入栈(因为操作码以mask值运算),例如:


PUSH {R0-R3}
PUSH {R1, R0, R2, R3}
PUSH {R3, R1, R2, R0}
PUSH {R3, R1-R0}
四种写法的执行结果是完全一致的,指令执行后,堆栈镜像如下:

0x20000000:    R0
0x20000004:    R1
0x20000008:    R2
0x2000000C:    R3
在编写fans-rt的中断入口函数时应特别加以注意。



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sevek/article/details/46838405
个人分类: fans-rt 介绍
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

fans-rt 任务调度-堆栈切换篇(3)关于cortex-m3堆栈的入栈顺序说明

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭