你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

UCOS2_STM32F1移植详细过程(一)

[复制链接]
ybhuangfugui 发布时间:2016-6-25 22:23
Ⅰ、概述
该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统。UCOS移植相关平台:
系统平台:µC/OS-II  (最新V2.92版)
硬件平台:STM32F1   (适合F1所以系列)
开发平台:Keil(MDK-ARM) V5

5 t# P+ _, |! i) C- @' ^

% b# x. W- I- n" F. u5 A$ \
1.为什么是µC/OS-II?
原因在于µC/OS-II是一个比较成熟、稳定的系统,与µC/OS-III比较有些机制相对简单很多。但你掌握了µC/OS-II,µC/OS-III很容易就理解了。

8 B& f) j% c% t/ i7 `( A
2.为什么是STM32F1?
硬件平台是在移植的过程中比较重要的一点,也就是说,不同的硬件平台,移植过程中的端口(uCOS-II\Ports下源文件)存在一定的差异性。
但是同一内核的芯片,在系统移植的过程中基本上类似,也就是说,你掌握这一种内核(如:Cortex-M3),你移植相关的芯片就很容易了。
还有就是,你掌握了移植的原理,不管在什么芯片上移植你都会觉得不是那么难,笔者在51、430、ST等众多芯片上移植过µC/OS,问题都不是很大,只要用心,相信都会没问题。
% @# e' g% p$ c3 k
3.为什么是MDK-ARM V5?
这里没什么好说的,个人爱好,喜欢使用最新的开发平台。其他平台(如:IAR)与系统软件关联性不是很大,你也可以试着用其他平台进行移植。
笔者将“UCOS移植详细过程”分为多篇文章来讲述,敬请关注。
关于本文的详情请往下看。
" M2 a" y% V0 i4 M0 D
8 G8 h  k0 U2 Q) |5 j4 B5 A9 u
Ⅱ、关于µC/OS
µC/OS-II是Micrium公司开发的一套嵌入式实时操作系统,应用非常广泛(工业、医疗、航天等)。µC/OS-II具有裁剪性(配置资源多少)和高度的移植性,所以很受嵌入式开发工程师的追捧。
µC/OS总共有三大版本(μCOS、μCOS-II和μCOS-III),这三个版本也存在很多差异,该文主要针对初学者,因此围绕µC/OS-II来讲解。它们之间的差异对比可以参看相关文档(uCOS-III用户指导手册)。
http://yunpan.cn/cRU7gefa6gcma  访问密码 8c7d
1.差异.png

) x! D4 t$ a. c! l( d3 L3 Z( l. X; K& K& T
' t/ I$ l% t5 r, B# m" I- j0 W

! J1 v. b+ S- m) g0 e
Ⅲ、准备工作
1.µC/OS软件工程包下载
µC/OS-II可以在Micrium官网下载(需要账号),也可以到我360云盘下载。
Micrium官网下载地址(需要账号):
我360云盘下载地址(定期更新):
http://yunpan.cn/cRzcf8eSacEhE  访问密码 1235

, W' _$ f2 C) ~# G; ?- x( g+ [
Micrium官网下载流程图:
UCOS源代码下载.gif

5 o2 T. [: C8 e- B8 @" L; r" }# S* |

1 v9 K" }8 `, V
2.ST标准外设库
Micrium官网下载的软件是使用比较老的ST标准外设库,这里我们下载最新的外设库。
ST官网下载地址(需要账号):
2 n2 H& s; p; s8 v

8 z) p3 N* a6 \: V0 E0 u4 a6 ~
我360云盘下载地址(定期更新):
http://yunpan.cn/cSaCpGejMSfr8  访问密码 60ae

. m. g% e6 q3 q9 [! u2 f" x/ Y: U+ z, Z# `: d* E1 Q8 B5 p& ^9 r
ST官网下载流程图:
ST固件库下载.gif

' V/ Y* h! p; u) P: w# x
: e# M4 s% b4 Z: P0 h
3.MDK-ARM下载与安装

, U8 |5 U3 L' @* l/ `
Keil官网下载地址(需要账号):
. C8 D3 b+ M. ~0 {) B' V0 m

2 {# H) w: H' E' Y, y
我360云盘下载地址(定期更新):
http://yunpan.cn/cPYaeY23RSsbb  访问密码 9aba
8 D- E6 u  j+ u. k- h) f8 ?
& Q! E4 @( I8 }0 I; o2 X
Ⅳ、移植过程(文件描述与提取)
1.软件工程文件夹描述
从Micrium官网下载的软件工程包解压之后会发现里面有许多源程序文件,其实对于初学者来说,里面有很多文件都不会使用的。这里我们以下载的软件包“Micrium_uC-Eval-STM32F107_uCOS-II.zip”解压来说明一下里面的文件。
2.文件夹描述.png

3 N; W. l$ L9 p7 W% v' F
EvalBoards:评估(开发)板相关文件;主要是配置底层和系统,我们会提取部分有效文件。
uC-CPU:CPU相关文件;我们使用ST标准外设库配置一些模块,不使用该文件夹下文件。
uC-LIB:这个是Micrium官方的库,初学者这里也不使用。
uCOS-II:这个文件夹才是关键,我们移植的内容基本上就是这里的文件。
5 Q  L# O) u/ u- t
3 P! f7 ~/ o1 q! i) I
2.提取工程中有用的文件
我们主要提取EvalBoards和uCOS-II下文件。
3.EvalBoards.png
) c3 i: K8 A4 {0 b: [* _
app_cfg.h是应用配置的文件(如:任务优先级、堆栈大小等)。
os_cfg.h是系统配置的文件(使能相应功能函数,也就是所谓的裁剪系统)。
将这两个文件提取至我们自己新建工程app文件夹下。

- Q3 \2 f3 J4 D+ e  \  G1 J! {# Y' b
4.UCOS.png

$ h! e! s0 g* w* G9 g, P5 h$ ~8 o5 T
2 ^2 L& R; m( {* ~/ m
Ports是与系统息息相关的端口配置文件。
Source这个不用说了,就是OS全部文件。
拷贝整个uCOS-II文件夹(里面)到我们工程。
; n' X2 \& k# i4 ~
) |1 V* J' R: B4 Y; F  M/ @
3.提取ST标准外设库有用的文件
Micrium官网下载的软件工程包也是使用标准外设库建立的工程,但那是老版本的标准外设库,因此,我们需要使用ST官网最新的标准外设库。
提取的文件过程我不在描述,最后我会提供下载链接供大家下载。
; |- G" y% O7 @5 x# \) t# \* m+ R

% }) }9 s. D' X% H1 Y# F# f
4.整合提取的文件
Micrium官网下载的文件 + ST下载标准外设库 + 提取整合
= UCOS2_STM32F1_ProjectTemplate(提取文件),如下图:
5.提取文件.png
可以在我360云盘下载整合提取的文件:
http://yunpan.cn/cRz7TxwWex9Wc  访问密码 70f4
& O3 K: |; U4 o' k- |" m

2 H/ A+ Y2 `' I3 m) o
8 |8 s( B  P1 E6 y. C& }8 y+ @
Ⅴ、移植过程(新建工程及文件)
1.新建工程

! F+ ]) X6 e4 b- g( e
配置的时候需要将uCOS-II下的文件添加到工程,同时也需要将他们的路径配置好。
如下动画:
添加源文件.gif

' f: @8 H0 _, F! c  f- q7 F0 k
, z  h$ b. D2 V' v, |' }( B3 `$ C4 v. i
2.新建、修改文件
工程建好之后,还需要新建一些文件(main.c、 bsp.c、 bsp.h、 app_cfg.c、 app_task.c、 app_task.h等)。同时,还需要修改某些文件,修改的这些文件是移植过程的重点,我将在下一篇文章进行总结。
我将新建好的工程和源代码整理打包供大家下载(注意:没有修改源代码,暂时编译通不过)。

* X. p/ g, N# Z6 r) P: l2 o
360云盘下载(新建工程、文件):
http://yunpan.cn/cRpHh6CTYQavV  访问密码 cc34

7 M- P+ C2 _1 [: D9 Z
. I; j; E6 m, q; \$ v5 a: O/ K
Ⅵ、说明
当你掌握UCOS在一种平台上的移植,其他平台移植原理类似,请不要局限某一平台。
以上总结仅供参考,若有不对之处,敬请谅解。
& n4 T8 c! q  V5 Y

3 p' u, t) Q" V5 G
Ⅶ、最后
关注微信,回复“更多内容”,将获得更多内容(如:UCOS实例等,不断更新中......)。
本着免费分享的原则,方便大家手机学习知识,定期在微信平台分享技术知识。如果你觉得分享的内容对你有用,又想了解更多相关的文章,请用微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,将有更多精彩内容等着你。
公众号0.5m.jpg

: p1 n2 p3 b5 G4 Y; k7 X
' @3 n/ R9 V  D9 U1 O5 l: H# ^

2 ]# V0 i& ]3 P( U7 O7 V2 M8 K
赞 收藏 1 评论1 发布时间:2016-6-25 22:23

举报

1个回答
小丁 回答时间:2016-6-27 13:07:18
教程不错,很清晰,喜欢楼主的风格

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版