uCOS-II源码下载及源码目录结构

  攻克RTOS之旅,扬帆起航!

  RTOS有众多种,个人感觉,用得最火的是FreeRTOS,因为它即使用于商业途径,也是开源免费的;其次是就是uCOS-II和uCOS-III。uCOS-II用于商业途径是需要付费的,但是对于学习研究却是免费的。它们同是嵌入式实时操作系统,很多东西都是共通的,熟悉其一,其它都非难题了。

  RTOS的学习,我选择的是uCOS-II。学习该操作系统的流程,主要分为源码阅读以及移植到STM32F10x单板上,并进行简单任务运行测试。过程中参考的资料有:

uCOS-II源码
正点原子MiniSTM32开发板配套资料
秉火ISO_V2开发板配套资料
《Cortex-M3权威指南.pdf》
《嵌入式实时操作系统μC\OS-Ⅱ原理及应用(第4版)》(任哲、房红征)

  文章记录的是我在学习过程中的笔记,可能比较粗浅。请高手包含,欢迎批评指教。

1. 源码下载

  uCOS-II是Micrium公司开发的一款嵌入式实时操作系统,要下载源码自然去该公司的官网下载,下载的时候需要账号登录。我下载过多个版本,最后发现这个版本的uCOS-II源码比较符合我手上的硬件平台,即STM32F10x。

  uCOS-II是一个操作系统,其实也可以理解成一个软件库,它可以移植到多种硬件平台,如M4内核的STM32,或者ARM9等等其他芯片。核心代码肯定是一致的,但是针对不同的处理器肯定要不同的实现部分。这里选择最为接近的版本,目的也在于少花费工夫。要知道,若要从0开始移植ucos-ii到目标硬件平台,需要极大的精力和软件水平。

2. 源码目录结构

  下载下来后:
uCOS-II源码下载及源码目录结构_第1张图片

  将其解压后目录如下:
uCOS-II源码下载及源码目录结构_第2张图片

EvalBoards:评估板相关文件,移植时提取部分
uC-CPU:这是和CPU紧密相关的文件,我们不需要使用
uC-LIB:Micrium公司提供的官方库,诸如字符串操作、内存操作等接口,可用可不用
uCOS-II:这是关键目录,我们下来着重分析的文件位于此目录下

uCOS-II的目录结构为:
uCOS-II源码下载及源码目录结构_第3张图片
  这里并没有基于MDK平台的代码版本,然而IAR跟MDK最为相近,所以我们先主要看以此目录为例。

  在IAR目录下有如下4个文件:
uCOS-II源码下载及源码目录结构_第4张图片
(1) os_cpu.h:定义数据类型、处理器相关代码、声明函数原型
(2) oc_cpu_a.asm:与处理器相关的汇编代码,主要是与任务切换相关
(3) os_cpu_c.c:定义用户钩子函数,提供扩充软件功能的的接口
(4) os_dbg.c:内核调试相关数据和相关函数

  在uCOS-II下的顶级目录还有Source目录,下面的文件为:
uCOS-II源码下载及源码目录结构_第5张图片

(1) os_core.c:内核数据结构管理,ucos-ii的核心,涵盖内核的初始化,任务切换,事件块管理、事件标志组管理等功能
(2) os_flag.c:事件标志组
(3) os_mbox.c:消息邮箱
(4) os_mem.c:内存管理
(5) os_q.c:队列
(6) os_sem.c:信号量
(7) os_task.c:任务管理
(8) os_time.c:时间管理,主要实现延时
(9) os_tmr.c:定时器管理,设置定时时间,超时则调用超时函数
(10) ucos_ii.h:内部函数参数设置

  用下面一张图片可以概括,uCOS-II的源码目录结构
uCOS-II源码下载及源码目录结构_第6张图片

你可能感兴趣的:(uCOS-II系统,uCOS-II操作系统)