UCOS2_STM32F1移植详细过程(一)

 

推荐

 

 分享一个朋友的人工智能教程,零基础!通俗易懂!但愿你也加入到人工智能的队伍中来!html

 

http://www.captainbed.net/strongerhuang微信

 

 

Ⅰ、概述app

该文写针对初学µC/OS的朋友,基于如下平台来一步一步移植µC/OS嵌入式操做系统。UCOS移植相关平台:函数

系统平台:µC/OS-II  (最新V2.92版)动画

硬件平台:STM32F1   (适合F1因此系列)网站

开发平台:Keil(MDK-ARM) V5 ui

 

1.为何是µC/OS-II?人工智能

缘由在于µC/OS-II是一个比较成熟、稳定的系统,与µC/OS-III比较有些机制相对简单不少。当你掌握了µC/OS-II,µC/OS-III很容易就理解了。spa

 

2.为何是STM32F1?操作系统

硬件平台是在移植的过程当中比较重要的一点,也就是说,不一样的硬件平台,移植过程当中的端口(uCOS-II\Ports下源文件)存在必定的差别性。

可是同一内核的芯片,在系统移植的过程当中基本上相似,也就是说,你掌握这一种内核(如:Cortex-M3),你移植相关的芯片就很容易了。

还有就是,你掌握了移植的原理,无论在什么芯片上移植你都会以为不是那么难,笔者在5一、430、ST等众多芯片上移植过µC/OS,问题都不是很大,只要用心,相信都会没问题。

 

3.为何是MDK-ARM V5?

这里没什么好说的,我的爱好,喜欢使用最新的开发平台。其余平台(如:IAR)与系统软件关联性不是很大,你也能够试着用其余平台进行移植。

 

笔者将“UCOS移植详细过程”分为多篇文章来说述,敬请关注。

关于本文的详情请往下看(微信请点击“阅读原文”查看内容连接内容)。

 

Ⅱ、关于µC/OS

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

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

 

https://yunpan.cn/cRU7gefa6gcma  访问密码 8c7d

 

 

Ⅲ、准备工做

1.µC/OS软件工程包下载

µC/OS-II能够在Micrium官网下载(须要帐号),也能够到我360云盘下载。

Micrium官网下载地址(须要帐号):

https://www.micrium.com/download/micrium_stm32f107_ucos-ii

我360云盘下载地址(按期更新):

https://yunpan.cn/cRzcf8eSacEhE  访问密码 1235

 

Micrium官网下载流程图:

 

2.ST标准外设库

Micrium官网下载的软件是使用比较老的ST标准外设库,这里咱们下载最新的外设库。

ST官网下载地址(须要帐号):

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

 

我360云盘下载地址(按期更新):

https://yunpan.cn/cSaCpGejMSfr8  访问密码 60ae

 

ST官网下载流程图:

 

3.MDK-ARM下载与安装

该环节我在个人其余文章中已经详细讲述过,请参考个人另一篇文章:

http://blog.csdn.net/ybhuangfugui/article/details/51647893

 

Keil官网下载地址(须要帐号):

https://www.keil.com/demo/eval/arm.htm

 

我360云盘下载地址(按期更新):

https://yunpan.cn/cPYaeY23RSsbb  访问密码 9aba

 

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

1.软件工程文件夹描述

从Micrium官网下载的软件工程包解压以后会发现里面有许多源程序文件,其实对于初学者来讲,里面有不少文件都不会使用的。这里咱们如下载的软件包“Micrium_uC-Eval-STM32F107_uCOS-II.zip”解压来讲明一下里面的文件。

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

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

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

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

 

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

咱们主要提取EvalBoardsuCOS-II下文件。

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

os_cfg.h是系统配置的文件(使能相应功能函数,也就是所谓的裁剪系统)。

将这两个文件提取至咱们本身新建工程app文件夹下。

 

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

Source这个不用说了,就是OS所有文件。

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

 

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

Micrium官网下载的软件工程包也是使用标准外设库创建的工程,但那是老版本的标准外设库,所以,咱们须要使用ST官网最新的标准外设库。

提取的文件过程我不在描述,最后我会提供下载连接供你们下载。

 

4.整合提取的文件

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

= UCOS2_STM32F1_ProjectTemplate(提取文件),以下图:

能够在我360云盘下载整合提取的文件:

https://yunpan.cn/cRz7TxwWex9Wc  访问密码 70f4

 

 

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

1.新建工程

新建Keil软件工程及其工程的配置这里就不在多说,能够参考个人另一篇文章:

http://blog.csdn.net/ybhuangfugui/article/details/51510482

 

配置的时候须要将uCOS-II下的文件添加到工程,同时也须要将他们的路径配置好。

以下动画:

 

2.新建、修改文件

工程建好以后,还须要新建一些文件(main.c、 bsp.c、 bsp.h、 app_cfg.c、 app_task.c、 app_task.h等)。同时,还须要修改某些文件,修改的这些文件是移植过程的重点,我将在下一篇文章进行总结

我将新建好的工程和源代码整理打包供你们下载(注意:没有修改源代码,暂时编译通不过)。

360云盘下载(新建工程、文件):

https://yunpan.cn/cRpHh6CTYQavV  访问密码 cc34

 

Ⅵ、说明

当你掌握UCOS在一种平台上的移植,其余平台移植原理相似,请不要局限某一平台。

以上总结仅供参考,如有不对之处,敬请谅解。

 

Ⅶ、最后

 

个人网站:https://www.strongerhuang.com

个人知乎:https://www.zhihu.com/people/strongerHuang.com

 

个人微信公众号(ID:strongerHuang)还在分享STM八、STM3二、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus…等更多精彩内容,若是想查看更多内容,能够关注个人微信公众号。

 

相关文章
相关标签/搜索