[mw_shl_code=c,true] OSCtxSw[/mw_shl_code]
[mw_shl_code=c,true] STMFD SP!, {LR} C ??这里不明白
STMFD SP!, {R0-R12, LR} ;R0-R12 LR
MRS R0, CPSR ush CPSR
STMFD SP!, {R0}
;----------------------------------------------------------------------------------
; OSTCBCur->OSTCBStkPtr = SP
;----------------------------------------------------------------------------------
LDR R0, =OSTCBCur
LDR R0, [R0]
STR SP, [R0] [/mw_shl_code]
新人求助, 刚开始看uCOS-II, 有个问题不解.
OSCtxSw是一个宏调用, 不是函数调度, PC不会写入LR的吧..
不人为修改的话, LR的内容应该还是调用OS_Sched()函数 (该函数调用OSCtxSw) 指令的下一个指令地址啊..
为何这里保存的内容是PC? |