STM32F1+uCOSii移植

0.uCOSII简介

0.0 uCOSii背景

μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。
μC/OS-II已经通过联邦航空局(FAA)商用航行器认证,符合航空无线电技术委员会(RTCA)DO-178B标准。

0.1 特点及组成

μC/OS-II可以提供如下服务:
信号量
互斥信号量
事件标识
消息邮箱
消息队列
任务管理
固定大小内存块管理
时间管理
另外,在μC/OS-II内核之上,有如下独立模块可供用户选择:
μC/FS文件系统模块
μC/GUI图形软件模块
μC/TCP-IP协议栈模块
μC/USB协议栈模块

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

以上就是些基础知识,不多说,进入正题!

1.0 移植准备

环境:KEIL-MDK v-5.25
硬件:STM32F103VET6核心板
模板程序:点灯程序即可
Uocsii源码:http://micrium.com/downloadcenter/download-results/?searchterm=mp-uc-os-ii&supported=true下载即可

得到文件解压后如下图:在这里插入图片描述

Doc-此文件夹为一些关于uCOSII的文档,可以看一下,我们所需要的移植文件都在Souce文件夹下。

1.1 移植文件

在我们的模板程序的工程目录下新建一个 UCOS 空文件夹,用来放置我们的移植文件,同时在UCOS路径下新建三个文件夹 1.CORE, 2.CONFIG,
3.CONFIG文件夹如下图

在这里插入图片描述
在这里插入图片描述
在我们的Source下找到我们所需的文件,将它们添加复制到我们的三个文件夹中;如下所示:

CORE:

在这里插入图片描述

CONFIG:此文件夹只需要两个文件

在这里插入图片描述
includes.h:为一些配置文件,我复制出来了

/*
************************************************************************************************
主要的包含文件

文 件: INCLUDES.C ucos包含文件
作 者: Jean J. Labrosse
************************************************************************************************
*/

#ifndef __INCLUDES_H__
#define __INCLUDES_H__
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdarg.h>

#include "ucos_ii.h"
#include "os_cpu.h"
#
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值