RE:stm32单片机移植μc/os时,任务级切换函数和中断级切换函数的困惑
SysTick中断是肯定不会去保存R4到R11的PendSV中断服务程序并不一定每次都去保存R4到R11。
你仔细看一下汇编,里面有OSPendSV_nosave
注意区分两个堆栈
回复:stm32单片机移植μc/os时,任务级切换函数和中断级切换函数的困惑
回复第 11 楼 于2013-09-30 10:18:20发表:SysTick中断是肯定不会去保存R4到R11的
PendSV中断服务程序并不一定每次都去保存R4到R11。
你仔细看一下汇编,里面有OSPendSV_nosave
注意区分两个堆栈
邵贝贝老师里面有句话说“进入中断后,应该调用中断切换函数OSIntCtxSw,而不应调用任务切换函数OS_TASK_SW,因为中断服务子程序已经将CPU寄存器存入到了中断了的任务的堆栈中,而无需再做第二次”
那么,“已经将CPU寄存器存入到了....”里面的CPU寄存器指的是XPSR,LR,PC,这些寄存机器??还是指所有的CPU寄存器包括R4-R11??“无需再做第二次”的第二次指的是哪个过程??
我实在是弄不明白了,望帮忙解惑....
页:
1
[2]