typedef void TASK ; char SwitchTask( void ) ; void StartTask( int TaskNo, void(*Func)(void) ) ; void StartTaskWithStackClear( int TaskNo, void(*Func)(void) ) ; int* GetStack( int TaskNo ) ; int* GetStackHead( int TaskNo ) ; void KillTask( int TaskNo ) ; void InitMultiTaskSystem( void ) ; int GetNumOfTask( void ) ; int GetMyTaskNo( void ) ; long GetSp( void ) ; void SleepInfinit( void ) ; #define ResetMyTaskStack() { GetStack( GetMyTaskNo() ) ;asm( "mov.l er0,sp");};