主函数
void main (void)
{
OSInit();
OSTaskCreateExt(.......);
OSStart();
}
函数在source\os_core.c里,原形如下:
void OSInit (void)
{
#if OS_TASK_CREATE_EXT_EN > 0u
#if defined(OS_TLS_TBL_SIZE) && (OS_TLS_TBL_SIZE > 0u)
INT8U err;
#endif
#endif
OSInitHookBegin();
OS_InitMisc();
OS_InitRdyList();
OS_InitTCBList();
OS_InitEventList();
#if (OS_FLAG_EN > 0u) && (OS_MAX_FLAGS > 0u)
OS_FlagInit();
#endif
#if (OS_MEM_EN > 0u) && (OS_MAX_MEM_PART > 0u)
OS_MemInit();
#endif
#if (OS_Q_EN > 0u) && (OS_MAX_QS > 0u)
OS_QInit();
#endif
#if OS_TASK_CREATE_EXT_EN > 0u
#if defined(OS_TLS_TBL_SIZE) && (OS_TLS_TBL_SIZE > 0u)
OS_TLS_Init(&err);
if (err != OS_ERR_NONE) {
return;
}
#endif
#endif
OS_InitTaskIdle();
#if OS_TASK_STAT_EN > 0u
OS_InitTaskStat();
#endif
#if OS_TMR_EN > 0u
OSTmr_Init();
#endif
OSInitHookEnd();
#if OS_DEBUG_EN > 0u
OSDebugInit();
#endif
}