Kernel Port Hooks API#
OSInitHook()#
Description#
Called by OSInit() at the beginning of OSInit().
Files#
os.h/os_cpu_c.c
Prototype#
void  OSInitHook (void)Arguments#
None.
Returned Value#
None.
Notes / Warnings#
None.
OSRedzoneHitHook()#
Description#
Called when a task's stack has overflowed.
Files#
os.h/os_cpu_c.c
Prototype#
void  OSRedzoneHitHook (OS_TCB  *p_tcb)Arguments#
p_tcb
- Pointer to the TCB of the offending task. 
- NULL if ISR. 
Returned Value#
None.
Notes / Warnings#
None.
OSStatTaskHook()#
Description#
Allows your application to add functionality to the statistics task. This function is called every second by the Kernel's statistics task.
Files#
os.h/os_cpu_c.c
Prototype#
void  OSStatTaskHook (void)Arguments#
None.
Returned Value#
None.
Notes / Warnings#
None.
OSTaskCreateHook()#
Description#
Called when a task is created.
Files#
os.h/os_cpu_c.c
Prototype#
void  OSTaskCreateHook (OS_TCB  *p_tcb)Arguments#
p_tcb
Pointer to the TCB of the task being created.
Returned Value#
None.
Notes / Warnings#
None.
OSTaskDelHook()#
Description#
Called when a task is deleted.
Files#
os.h/os_cpu_c.c
Prototype#
void  OSTaskDelHook (OS_TCB  *p_tcb)Arguments#
p_tcb
Pointer to the TCB of the task being deleted.
Returned Value#
None.
Notes / Warnings#
None.
OSTaskReturnHook()#
Description#
Called if a task accidentally returns. In other words, a task should either be an infinite loop or delete itself when done.
Files#
os.h/os_cpu_c.c
Prototype#
void  OSTaskReturnHook (OS_TCB  *p_tcb)Arguments#
p_tcb
Pointer to the TCB of the task that is returning.
Returned Value#
None.
Notes / Warnings#
None.
OSTaskStkInit()#
Description#
Initializes the stack frame of the task being created as if it had been already switched-out. This function is called by OSTaskCreate() and is highly processor specific.
Files#
os.h/os_cpu_c.c
Prototype#
CPU_STK  *OSTaskStkInit (OS_TASK_PTR    p_task,
                         void          *p_arg,
                         CPU_STK       *p_stk_base,
                         CPU_STK       *p_stk_limit,
                         CPU_STK_SIZE   stk_size,
                         OS_OPT         opt)Arguments#
p_task
Pointer to the task entry point address.
p_arg
Pointer to a user-supplied data area that will be passed to the task when the task first executes.
p_stk_base
Pointer to the base address of the stack.
p_stk_limit
Pointer to the element to set as the 'watermark' limit of the stack.
stk_size
Size of the stack (measured as number of CPU_STK elements).
opt
Options used to alter the behavior of OSTaskStkInit(). See OS.H for OS_TASK_OPT_xxx.
Returned Value#
Always returns the location of the new top-of-stack once the processor registers have been placed on the stack in the proper order.
Notes / Warnings#
None.
OSTaskSwHook()#
Description#
Allows you to perform other operations during a context switch. This function is called when a task switch is performed.
Files#
os.h/os_cpu_c.c
Prototype#
void  OSTaskSwHook (void)Arguments#
None.
Returned Value#
None.
Notes / Warnings#
- Interrupts are disabled during this call. 
- It is assumed that the global pointer ' - OSTCBHighRdyPtr' points to the TCB of the task that will be 'switched in' (i.e., the highest priority task) and, '- OSTCBCurPtr' points to the task being switched out (i.e., the preempted task).