OSTaskSwHook()

xiaoxiao2021-02-28  105

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-46169.html

最新回复(0)