Go to the source code of this file.
Functions | |
void | OsSchedulerInit (void) |
void | OsSchedulerRunNext (void) |
void | OsSchedulerFindNextIsr (void) |
INT8U | OsSchedulerStartHigh (void) |
void | OsSchedulerPut (OS_TCB *pOsTcb) |
Variables | |
OS_TCB * | SchedulerListHead |
OS_TCB * | SchedulerListTail |
OS_SCHEDULER_CONTROL | OsSchedulerCtrl |
void OsSchedulerFindNextIsr | ( | void | ) |
Definition at line 63 of file os_scheduler.c.
00063 { // interrupt level scheduler 00064 OS_TCB *pOsTcb; 00065 00066 if((pOsTcb=OsTaskReadyTaskGet(0))==(OS_TCB *)0) return; 00067 OsSchedulerCtrl.TaskSwitchTimer=TASK_SWITCH_TIME; 00068 OSPrioHighRdy=(INT32U)pOsTcb->Id; 00069 OSTCBHighRdy=(INT32U)pOsTcb; 00070 pOsTcb=(OS_TCB *)OSTCBCur; 00071 if(pOsTcb->Status==OS_TASK_READY){ 00072 OsTaskReadyTaskPut(pOsTcb); 00073 } 00074 OSTaskSwitch=1; 00075 }
void OsSchedulerInit | ( | void | ) |
Definition at line 27 of file os_scheduler.c.
00027 { 00028 SchedulerListHead=(OS_TCB *)0; 00029 SchedulerListTail=(OS_TCB *)0; 00030 OsSchedulerCtrl.EntryNumber=0; 00031 OsSchedulerCtrl.State=0; 00032 OsSchedulerCtrl.TaskSwitchTimer=TASK_SWITCH_TIME; 00033 }
void OsSchedulerPut | ( | OS_TCB * | pOsTcb | ) |
Definition at line 34 of file os_scheduler.c.
00034 { 00035 00036 OsTaskReadyTaskPut(pOsTcb); 00037 }
void OsSchedulerRunNext | ( | void | ) |
Definition at line 50 of file os_scheduler.c.
00050 { // task level scheduler 00051 OS_TCB *pOsTcb; 00052 00053 if((pOsTcb=OsTaskReadyTaskGet(0))==(OS_TCB *)0) return; 00054 OsSchedulerCtrl.TaskSwitchTimer=TASK_SWITCH_TIME; 00055 OSPrioHighRdy=(INT32U)pOsTcb->Id; 00056 OSTCBHighRdy=(INT32U)pOsTcb; 00057 pOsTcb=(OS_TCB *)OSTCBCur; 00058 if(pOsTcb->Status==OS_TASK_READY){ 00059 OsTaskReadyTaskPut(pOsTcb); 00060 } 00061 OS_TASK_SW(); 00062 }
INT8U OsSchedulerStartHigh | ( | void | ) |
Definition at line 42 of file os_scheduler.c.
00042 { 00043 OS_TCB *pOsTcb; 00044 00045 if((pOsTcb=OsTaskReadyTaskGet(0))==(OS_TCB *)0) return FALSE; 00046 OSPrioCur=(INT32U)pOsTcb->Id; 00047 OSTCBCur=(INT32U)pOsTcb; 00048 return TRUE; 00049 }
OS_SCHEDULER_CONTROL OsSchedulerCtrl |
Definition at line 19 of file os_scheduler.c.
OS_TCB* SchedulerListHead |
Definition at line 17 of file os_scheduler.c.
OS_TCB* SchedulerListTail |
Definition at line 18 of file os_scheduler.c.