探索ucos-ii之路(一)--内核目录结构和内核组成-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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

简介:

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


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

  1. *********************************************************************************  
  2. *   OS_CORE.C                       系统初始化,开启多任务环境等的代码         
  3. *********************************************************************************  
  4. *   OS_FLAG .C                      事件标志组管理代码                         
  5. *********************************************************************************  
  6. *   OS_MBOX .C                      消息邮箱管理代码                              
  7. *********************************************************************************  
  8. *   OS_MEM.C                        内存管理代码                                
  9. *********************************************************************************  
  10. *   OS_MUTEX.C                      互斥型信号量管理代码                        
  11. *********************************************************************************  
  12. *   OS_Q.C                          消息队列管理                                
  13. *********************************************************************************  
  14. *   OS_SEM.C                        信号量管理代码                           
  15. *********************************************************************************  
  16. *   OS_TASK.C                       任务管理代码                                
  17. *********************************************************************************  
  18. *   OS_TIME.C                       事件管理代码                                
  19. *********************************************************************************  
  20. *   uCOS_II.C                       包含内核的其它C语言源文件                 
  21. *********************************************************************************  
*********************************************************************************
*	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配置文件(与应用程序有关)

  1. *********************************************************************************  
  2. *   INCLUDES .H                     系统的全局头文件,在所有的源码中包含  
  3. *********************************************************************************  
  4. *   OS_CFG .H                       UCOS系统的全局配置  
  5. *********************************************************************************  
*********************************************************************************
*	INCLUDES .H						系统的全局头文件,在所有的源码中包含
*********************************************************************************
*	OS_CFG .H						UCOS系统的全局配置
*********************************************************************************
 

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

  1. *********************************************************************************  
  2. *   OS_CPU .h               包含与处理器相关的常量、宏及结构体定义  
  3. *********************************************************************************  
  4. *   OS_CPU_C.C              多任务栈初始化等与处理器有关的代码  
  5. *********************************************************************************  
  6. *   OS_CPU_A.asm            汇编语言编写的启动任务、任务切换等四个重要函数  
  7. *********************************************************************************  
*********************************************************************************
*	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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: