完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我从psp中断跳到msp堆栈,那我入栈入的是PSP的栈吧,LR,R0,R1什么都先入PSP保存起来是吧!然后走MSP堆栈,这个时候我再发生中断,那我入栈是入MSP的堆栈是吧,这个之后我是走哪个堆栈了???是跳到PSP还是继续走MSP,(我猜应该是继续走MSP),那当我中断嵌套的越来越多R0,R1,LR等这些寄存器值不就和先前的不同了吗?因为每次入栈都加载R0,LR这些东西。。。。大哥们知道我在问什么吗??我这个一直不是很明白。。。。就是中断嵌套比较多的时候。。。寄存器的值每次入栈时候数值不就改变了(比如LR中断嵌套一次就入栈一次,那先去入栈的LR值就不变成最近一次中断的LR值吗?)感觉是我的理解有误区。。希望大家帮帮下!我理解哪里问题了???
|
|
相关推荐
2个回答
|
|
顶一顶
|
|
|
|
我明白了,,堆栈是复制寄存器的值。。。这些值保存在堆栈中,,虽然在之后中断的过程中R0,LR等其他寄存器里面值变了,但是堆栈之前保存的值不变的,,,所以在多个嵌套中断要保证堆栈的大小不能溢出,还有在嵌套中断不能直接读取寄存器的值作为低中断的返回值,因为寄存器被高中断用过了,里面值可能改变了应该从堆栈读取。。。。。(是这个意思吧!)
|
|
|
|
只有小组成员才能发言,加入小组>>
813 浏览 0 评论
1162 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1109浏览 3评论
198浏览 2评论
465浏览 2评论
379浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
461浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 11:48 , Processed in 0.992825 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号