研究生
最后登录1970-1-1
在线时间 小时
注册时间2016-2-20
|
[mw_shl_code=c,true] ; 确保异常返回使用的栈指针是PSP,即 lr 寄存器的bit2要为1
ORR lr, lr, #0x04
; 异常返回,这个时候栈中的剩余内容会自动加载到 CPU 寄存器
; xPSR, PC(线程入口地址), r14, r12, r3, r2, r1, r0(线程的形参)
; 同时 psp 的值也将更新,即指向线程栈的栈顶
BX lr[/mw_shl_code]
这个lr寄存器什么时候改变的,没找到呢。如果不改变lr的值,那bx lr这条命令岂不是又返回到触发pendsv的地方了,这里就是当前线程,并不是要切换到的目的线程。这里没搞明白@fire |
|