uCOS-II 学习笔记--------OSInit函数

系统初始化

 1 void  OSInit (void)
 2 {
 3     OSInitHookBegin();                                           /* Call port specific initialization code   */
 4 
 5     OS_InitMisc();                                               /* Initialize miscellaneous variables       */
 6 
 7     OS_InitRdyList();                                            /* Initialize the Ready List                */
 8 
 9     OS_InitTCBList();                                            /* Initialize the free list of OS_TCBs      */
10 
11     OS_InitEventList();                                          /* Initialize the free list of OS_EVENTs    */
12 
13 #if (OS_FLAG_EN > 0u) && (OS_MAX_FLAGS > 0u)
14     OS_FlagInit();                                               /* Initialize the event flag structures     */
15 #endif
16 
17 #if (OS_MEM_EN > 0u) && (OS_MAX_MEM_PART > 0u)
18     OS_MemInit();                                                /* Initialize the memory manager            */
19 #endif
20 
21 #if (OS_Q_EN > 0u) && (OS_MAX_QS > 0u)
22     OS_QInit();                                                  /* Initialize the message queue structures  */
23 #endif
24 
25     OS_InitTaskIdle();                                           /* Create the Idle Task                     */
26 #if OS_TASK_STAT_EN > 0u
27     OS_InitTaskStat();                                           /* Create the Statistic Task                */
28 #endif
29 
30 #if OS_TMR_EN > 0u
31     OSTmr_Init();                                                /* Initialize the Timer Manager             */
32 #endif
33 
34     OSInitHookEnd();                                             /* Call port specific init. code            */
35 
36 #if OS_DEBUG_EN > 0u
37     OSDebugInit();
38 #endif
39 }
原文地址:https://www.cnblogs.com/xiaofeng6636/p/3507856.html