原子哥,在os_cup.a.asm文件中这PendSV函数中有这样两句:
LDR R1, = OSTCBCur
LDR R1,[R1]
STR R0,[R1] ;*R1 = R0 即OSTCBCur = sp
我这里想问一下什么OSTCBCur = sp?
我看了一下,创建任务的时候堆栈初始化,完成后最后把
p_stk指针返回,然后再OSTaskCreat ()函数中把这个指针付给p_tcb->StkPtr即p_tcb->StkPtr = p_sp,
此时应该是OSTCBCur = R4(按我理解),这个我不太懂能不能解释的清楚一点?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>