dzc2001 发表于 2013-9-30 10:18:20

RE:stm32单片机移植μc/os时,任务级切换函数和中断级切换函数的困惑

SysTick中断是肯定不会去保存R4到R11的
PendSV中断服务程序并不一定每次都去保存R4到R11。
你仔细看一下汇编,里面有OSPendSV_nosave
注意区分两个堆栈

蜗牛-2032493 发表于 2013-9-30 11:48:04

回复: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]
查看完整版本: stm32单片机移植μc/os时,任务级切换函数和中断级切换函数的困惑