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扩展域中的值更新浮点寄存器的内容。 */
}
OSTaskSwHook()
最新推荐文章于 2024-04-27 19:32:31 发布