os_core.c File Reference

#include "includes.h"

Go to the source code of this file.

Functions

void OsInit (void)
void OsCoreInit (void)
void OsStart (void)
void OsYield (void)
void OsFinish (void)
OS_BOOL OsDelete (U8 *pTaskName)

Variables

const U8 OsUnkown [] = "UNKNOW"
U32 OsTaskSwitch
U32 OsTaskCurrent
U32 OsTaskNext
U32 OsIntNesting
U32 OsRunning
U8 OsHasIntNesting


Function Documentation

void OsCoreInit ( void   ) 

Definition at line 29 of file os_core.c.

00029                      {
00030     OsIntNesting=0;
00031     OsTaskSwitch=0;
00032     OsRunning=0;
00033     OsHasIntNesting=0;
00034 }

OS_BOOL OsDelete ( U8 pTaskName  ) 

Definition at line 60 of file os_core.c.

00060                                {
00061     #if(OS_CRITICAL_METHOD==3)
00062         U32 CpuEflags;
00063     #endif
00064     
00065     OsEnterCritical();
00066     if(OsTaskReadyTaskFind(pTaskName)==OS_TRUE){
00067         OsTaskReadyTaskDelete(pTaskName);
00068         OsExitCritical();
00069         return OS_TRUE;
00070     }
00071     else if(OsEventTaskFind(pTaskName)==OS_TRUE){
00072         OsEventTaskDelete(pTaskName);
00073         OsExitCritical();
00074         return OS_TRUE;
00075     }
00076     else if(OsResourceTaskFind(pTaskName)==OS_TRUE){
00077         OsResourceTaskDelete(pTaskName);
00078         OsExitCritical();
00079         return OS_TRUE;
00080     }
00081     else{
00082         OsExitCritical();
00083         return OS_FALSE;
00084     }
00085 } 

void OsFinish ( void   ) 

Definition at line 47 of file os_core.c.

00047                    {
00048     OS_TASKENTRY *pOsTask;
00049     #if(OS_CRITICAL_METHOD==3)
00050         U32 CpuEflags;
00051     #endif
00052     
00053     OsEnterCritical(); 
00054     pOsTask=(OS_TASKENTRY *)OsTaskCurrent;
00055     OsTaskFreeTaskPut(pOsTask);
00056     OsTaskSwitchOut();
00057     OsExitCritical();
00058 }

void OsInit ( void   ) 

Definition at line 20 of file os_core.c.

00020                  {
00021     OsCoreInit();
00022     OsTaskInit();
00023     OsSchedulerInit();
00024     OsEventInit();
00025     OsResourceInit();
00026     OsTimeInit();
00027 }

void OsStart ( void   ) 

Definition at line 36 of file os_core.c.

00036                   {  
00037     if(OsRunning==false)
00038         if(OsSchedulerFindRootTask()==true)
00039             OsRootTaskStart();
00040     while(1);
00041 }

void OsYield ( void   ) 

Definition at line 43 of file os_core.c.

00043                   { 
00044     OsTaskSwitchOut();
00045 }


Variable Documentation

Definition at line 18 of file os_core.c.

Definition at line 16 of file os_core.c.

Definition at line 17 of file os_core.c.

Definition at line 14 of file os_core.c.

Definition at line 15 of file os_core.c.

Definition at line 13 of file os_core.c.

const U8 OsUnkown[] = "UNKNOW"

Definition at line 11 of file os_core.c.


Generated on Sat Apr 10 23:28:07 2010 for 80X86 MULTI-TASKING OPERATION SYSTEM by  doxygen 1.5.9