- 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 发布