首页 > 代码库 > ucos源码读后总结

ucos源码读后总结

转载请注明原文出处,http://www.cnblogs.com/flyingcloude/p/6992351.html

花了将近一个星期的时间将ucos的源码大致的通读了一遍,在这里先进行总结一下,以便以后继续深入学习。

(1)ucos的源码结构:

     与处理器类型无关的代码:OS_CORE.C

              OS_FLAG.C

              OS_MBOX.C

              OS_MEM.C

              OS_MUTEX.C

              OS_Q.C

              OS_SEM.C

              OS_TIME.C

              uC/OS-II.C

              uC/OS-II.H

uC/OS的配置文件(与应用程序有关)

              OS_CFG.H

              INCLUDES.H

与处理器类型有关的代码

              OS_CPU.H

              OS_CPU_A.ASM

              OS_CPU_C.C

(2)ucos的特点

多任务,最多可以支持64个任务,但是每个任务的优先级必须不一样,而且有两个任务已经被系统占用。

内核可剥夺,当就绪任务队列中有高优先级的任务到达时,当前运行的任务让出CPU使用权。

(3)ucos的程序架构

系统的启动以及运行过程:

        先进行系统初始化OSInit();

        然后进行创建任务等工作。

        最后运行OSStart(),在OSStart()运行时,系统运行任务优先级最高的任务。

在系统运行时,任务跟任务之间的通信可以使用“信号量”、“邮箱”、“消息队列”进行通信。

任务在运行的时候,当遇到阻塞时,会进行一次OS_Sched(),当所有的用户任务都不需要执行时,系统开始执行系统自带的空闲任务,当有任务就绪时再重新开始执行。然后外部定时器驱动OSTimeTick函数,进行对任务的状态进行管理。

 

转载请注明原文出处,http://www.cnblogs.com/flyingcloude/p/6992351.html

ucos源码读后总结