0507

xiaoxiao2021-02-28  87

OSTaskSwHook()

void OSTaskSwHook(void)      File    Called from Code enabled by   OS_CPU_C.C  OSCtxSw() and   OSIntCtxSw()    OS_CPU_HOOKS_EN             当执行任务切换时都会调用该函数。全局变量OSTCBHighRdy指向得到CPU的任务的TCB,而OSTCBCur指向被切换出去的任务的TCB。OSTaskSwHook()在保存好了任务的寄存器和保存好了指向当前任务TCB的堆栈指针后马上被调用。用户可以用该函数来保存或恢复浮点寄存器或MMU寄存器的内容,来得到任务执行时间的轨迹以及任务被切换进来的次数等等。   参数       无   返回值       无   注意事项       该函数在被调用的时候中断是禁止的。因此用户应尽量减少该函数中的代码以缩短中断的响应时间。   范例      void OSTaskSwHook (void)   {       /* 将浮点寄存器的内容储存在当前任务的TCB扩展域中。 */       /* 用新任务的TCB扩展域中的值更新浮点寄存器的内容。   */  

转载请注明原文地址: https://www.6miu.com/read-70879.html

最新回复(0)