在内核的功能模块中,重点函数为:
static void OS_InitEventList(void);/*初始化事件列表*/
static void OS_InitMisc(void);/*初始化混杂项*/
static void OS_InitRdyList(void);/*初始化就绪列表*/static void OS_InitTaskIdle(void);/*初始化空闲任务*/
static void OS_InitTCBList(void);/*初始化任务控制块(TCB)列表*/
void OS_EventWaitListInit(OS_EVENT *pevent) /*初始化事件等待列表*/
INT16U OSEventPendMulti(OS_EVENT **pevents_pend,OS_EVENT **pevents_rdy,void **pmsgs_rdy,INT32U timeout,INT8U *perr) /*多任务挂起函数*/
void OSTimeTick(void) /*时钟节拍函数*/
INT8U OS_EventTaskRdy(OS_EVENT *pevent,void *pmsg,INT8U msk,INT8U pend_stat)/*使任务进入就绪态函数*/
void OS_EventTaskWait(OS_EVENT *pevent) /*使任务进入等待状态的函数*/
void OS_EventTaskRemove(OS_TCB *ptcb,OS_EVENT *pevent)/*从事件等待列表中移除任务*/
void OS_Sched(void) /*任务调度函数*/
void OS_TaskStat(void *p_arg) /*任务统计函数*/
个人感觉在阅读每个函数时,要有大局观,否则很容易因为繁杂的程序把自己脑子搞乱。
尤其要做到边看边思考,如果只是走马观花式的看代码,没有一点用处。求量不讲质,相当于浪费时间。
此外,在看的时候,还要带着怀疑的态度,遇到自己不会的地方或者是觉得比较奇怪的地方,不理解之所以然时,多查阅资料,
借鉴多位前辈的经验,一样的,也要带着怀疑的态度。
这一周读代码,收获了不少,经验、知识、思维上都有提升。再接再厉!