该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统。UCOS移植相关平台:
系统平台:µC/OS-II (最新V2.92版)
硬件平台:STM32F1 (适合F1所以系列)
开发平台:Keil(MDK-ARM) V5

2、关于µC/OS

µC/OS-II是Micrium公司开发的一套嵌入式实时操作系统,应用非常广泛(工业、医疗、航天等)。µC/OS-II具有裁剪性(配置资源多少)和高度的移植性,所以很受嵌入式开发工程师的追捧。

µC/OS总共有三大版本(μCOS、μCOS-II和μCOS-III),这三个版本也存在很多差异,该文主要针对初学者,因此围绕µC/OS-II来讲解。它们之间的差异对比可以参看相关文档(uCOS-III用户指导手册)。

3、移植过程(文件描述与提取)

1.软件工程文件夹描述

从Micrium官网下载的软件工程包解压之后会发现里面有许多源程序文件,其实对于初学者来说,里面有很多文件都不会使用的。这里我们以下载的软件包“Micrium_uC-Eval-STM32F107_uCOS-II.zip”解压来说明一下里面的文件。
在这里插入图片描述

EvalBoards:评估(开发)板相关文件;主要是配置底层和系统,我们会提取部分有效文件。

uC-CPU:CPU相关文件;我们使用ST标准外设库配置一些模块,不使用该文件夹下文件。

uC-LIB:这个是Micrium官方的库,初学者这里也不使用。

uCOS-II:这个文件夹才是关键,我们移植的内容基本上就是这里的文件。

2.提取工程中有用的文件

我们主要提取EvalBoards和uCOS-II下文件。

app_cfg.h是应用配置的文件(如:任务优先级、堆栈大小等)。

os_cfg.h是系统配置的文件(使能相应功能函数,也就是所谓的裁剪系统)。
在这里插入图片描述

将这两个文件提取至我们自己新建工程app文件夹下。

Ports是与系统息息相关的端口配置文件。

Source这个不用说了,就是OS全部文件。

拷贝整个uCOS-II文件夹(里面)到我们工程。

3.提取ST标准外设库有用的文件

Micrium官网下载的软件工程包也是使用标准外设库建立的工程,但那是老版本的标准外设库,因此,我们需要使用ST官网最新的标准外设库。

提取的文件过程我不在描述,最后我会提供下载链接供大家下载。

4.整合提取的文件

Micrium官网下载的文件 + ST下载标准外设库 + 提取整合

= UCOS2_STM32F1_ProjectTemplate(提取文件),如下图:
在这里插入图片描述

Ⅴ、移植过程(新建工程及文件)

1.新建工程

新建Keil软件工程及其工程的配置
配置的时候需要将uCOS-II下的文件添加到工程,同时也需要将他们的路径配置好。

文章目录一、 UC OS的基础知识1.1 前后台系统:1.2 RTOS系统可剥夺型内核:前后台系统和RTOS系统 UC OS系统简介 一、 UC OS的基础知识 1.1 前后台系统:   早期嵌入式开发没有嵌入式操作系统的概念,直接操作裸机,在裸机上写程序,比如用51 单片机 基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。   简单的小系统通常是前后台系统,这样的程序包括一个死循环和若千个中断服务程序:应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系统。中断服务程序用
文章目录 UC OS 移植 前准备 UC OS源码文件整理 UC OS源码修改1. os_cpu_c.c2. os_cpu_c.asm3. os_cfg.h4. includes.h5. app_cfg.h uc os 移植 UC OS 移植 前准备 UC OS源码文件整理 新建 UC OS-II文件夹,并在 uC OS-II目录下新建3个目录文件夹CORE、PORT、CONFIG。 将源码Source文件夹下除os_cfg_c.h和os_dbg_r.c全部复制到 移植 工程目录下的CORE下 将源码port->coterxM文件夹下