void OSTaskSwHook (void)
File |
Called from |
Code enabled by |
|
|
N/A |
OSTaskSwHook()
is always called by either OSCtxSw()
or OSIntCtxSw()
(see os_cpu_a.asm
), just after saving the CPU registers onto the task being switched out. This hook function allows the port developer to perform additional operations (if needed) when µC/OS-III performs a context switch.
Before calling OSTaskSwHook()
, OSTCBCurPtr
points at the OS_TCB
of the task being switched out, and OSTCBHighRdyPtr
points at the OS_TCB
of the new task being switched in.
The code shown in the example below should be included in all implementations of OSTaskSwHook()
, and is used for performance measurements. This code is written in C for portability.
Arguments
None
Returned Values
None
Notes/Warnings
None
Example
The code below calls an application specific hook that the application programmer can define. The user can simply set the value of OS_AppTaskSwHookPtr
to point to the desired hook function. When µC/OS-III performs a context switch, it calls OSTaskSwHook()
which in turn calls App_OS_TaskSwHook()
through OS_AppTaskSwHookPtr
.