zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

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

内核 -- 探索 结构 目录 II 之路 组成
2023-09-14 08:59:41 时间
*********************************************************************************   *   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语言源文件                  *********************************************************************************  
*********************************************************************************

* 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 .H                       UCOS系统的全局配置   *********************************************************************************  
*********************************************************************************

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

*********************************************************************************

* OS_CFG .H UCOS系统的全局配置

*********************************************************************************
 

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


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

* 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等系统指针,所以通常用汇编语言编写。主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断的相关处理部分等内容。


转载:http://blog.csdn.net/gatieme/article/details/21098269


自制操作系统Antz day08——实现内核 (中) 扩展内核 在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,如今已经可以进入保护模式了,并且编写了我们自己的内核程序,这个内核虽然什么也没有做,但还是成功被加载进内存了。接下来我们要将这个内核程序编写详细的内容了。