1.在移植的时候发现切换失败,总是在
OSStartHang
B OSStartHang ;总是在这执行。
2.对比一个移植好的代码和自己移植的代码,发现差异是在
OS_CPU_PendSVHandler
CPSID I
...省略...
CPSIE I
BX LR ;
a.发现别人移植好的代码,在执行OS_CPU_PendSVHandler()中后跳出,则
发现系统寄存器CONTROL,PROC=1自动切换到用户堆栈PSP/
b.而我自己的,代码移植的但是,跳出后发现系统寄存器CONTROL,PROC=0,没有自动切换到用户堆栈PSP.
这是那里出问题了. |