探索ucos-ii之路(一)--内核目录结构和内核组成

时间:2021-04-04 20:07:59

UCOS-ii2.5.2内核目录结构和组成


  1.uCOS-II Source->source:(与处理器类型无关的代码)

*********************************************************************************
*OS_CORE.C系统初始化,开启多任务环境等的代码
*********************************************************************************
*OS_FLAG .C事件标志组管理代码
*********************************************************************************
*OS_MBOX .C消息邮箱管理代码
*********************************************************************************
*OS_MEM.C内存管理代码
*********************************************************************************
*OS_MUTEX.C互斥型信号量管理代码
*********************************************************************************
*OS_Q.C消息队列管理
*********************************************************************************
*OS_SEM.C信号量管理代码
*********************************************************************************
*OS_TASK.C任务管理代码
*********************************************************************************
*OS_TIME.C事件管理代码
*********************************************************************************
*uCOS_II.C包含内核的其它C语言源文件
*********************************************************************************


2 uCOS II配置文件(与应用程序有关)

*********************************************************************************
*INCLUDES .H系统的全局头文件,在所有的源码中包含
*********************************************************************************
*OS_CFG .HUCOS系统的全局配置
*********************************************************************************
 

3 移植uCOS II (与处理器有关的代码)

*********************************************************************************
*OS_CPU .h包含与处理器相关的常量、宏及结构体定义
*********************************************************************************
*OS_CPU_C.C多任务栈初始化等与处理器有关的代码
*********************************************************************************
*OS_CPU_A.asm汇编语言编写的启动任务、任务切换等四个重要函数
*********************************************************************************


4 μC/OS-II组成 

μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。  

1) 核心部分(OSCore.c)  是操作系统的处理核心,包括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分。能够维持系统基本工作的部分都在这里。 

2) 任务处理部分(OSTask.c)  任务处理部分中的内容都是与任务的操作密切相关的。包括任务的建立、删除、挂起、恢复等等。因为μC/OS-II是以任务为基本单位调度的,所以这部分内容也相当重要。  

3)  时钟部分(OSTime.c) μC/OS-II中的最小时钟单位是timetick(时钟节拍)。任务延时等操作是在这里完成的。  

4) 任务同步和通信部分  为事件处理部分,包括信号量、邮箱、消息队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问。  

5) 与CPU的接口部分  是指μC/OS-II针对所使用的CPU的移植部分。由于μC/OS-II是一个通用性的操作系统,所以对于关键问题上的实现,还是需要根据具体CPU的具体内容和要求作相应的移植。这部分内容由于牵涉到SP等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。