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

【经验分享】FreeRTOS基础(一):STM32G4系列运行FreeRTOS

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
: b+ A2 @$ Y; S, d       1.1、Keil版本支持STM32  G系列+ M  m7 G- ?; e

( s- L. m" g: h. Z3 r
20200429115157997.png

: O" }/ _) T$ R+ Q9 f% V
8 A( [7 L# F: ~) J% \     1.2   Keil下找到G系列文件并下载安装
/ {& u9 L3 k- ~- f9 A6 I3 k& s  P5 y5 e3 a7 L+ M0 w
20200429115557162.png
5 o4 _- n3 r" |! W1 X$ ]$ S
) {( Y0 n' j, l, W6 k% w! Z3 x
20200429115708530.png
# M* L9 ~5 L+ R3 \7 B
$ w8 {7 l. {. R- O
     1.3  安装成功
: C& n$ C* X. G2 N6 E% K! @
$ d* u! n) N6 d7 m
20200429125318914.png
1 p& h. u0 {0 g# |& W

$ y9 c2 L) W4 ?4 F$ K( G6 \
20200429125503306.png
% s3 G1 j& O+ ?4 k+ b' Q
8 p/ s: E' D$ H  p+ \
        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
9 m0 z' U+ q" h; b4 D# _( @, r
! T4 f" s, f* d3 I4 `$ j6 m
20200506142417629.png
5 a4 P4 U3 D5 X

% `3 n7 w/ |* @$ k0 R) u二、移植
" B, T- [( S8 r) C( K3 y     2.1  安装STM32CubeMX,目前ST官方主推。+ X8 f- j# |6 G. T  W) N

9 X6 S' `1 L9 c9 [+ D0 I
20200506172016978.png

& c0 \; c; V" B: r% ~. I3 ]: \! G5 ]
# {5 \% e4 F, C3 w8 W9 r# Y( ]' j       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)$ ~) B+ ^. u% V$ e0 O$ Q! @" O
6 x9 S* u. b; @, `0 c6 ]
20200429203723180.png

9 s+ W4 {/ ?6 ^1 d  D
/ D, x: s& L- v3 q        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
% y( v$ z1 ^1 R- s% y4 W0 d* R
1 r' L2 _4 G4 j         我这里是添加本地packages,即通过3.2已经有下载了hal库。
* Q3 ?* J# s* M- ~) c# ]8 r9 C* V7 u2 s1 F% s

+ k) B* j# @" y
20200506172459425.png

# U5 e1 A3 }1 t" @" @9 d. d
4 ?' J) L! V& ]! R( E
7 L: U" n7 o; K  [1 ~: [+ G1 [0 @        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
: m6 b" v" j# [0 g, D3 W; L: ?9 K% {) X( M; R. P
20200506195024589.png
4 ~3 W* {" e- H+ Z; N

. M& @( z# D2 ]8 M$ ^        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
6 j: a) p' K$ l9 |9 P5 W
* F5 T- I2 q- |( [* ?, n% b6 ?         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。3 [* i* p8 g& L8 O4 `7 S3 p
( \1 B  o. m$ Q8 V+ M/ f. Z
         SYS Timebase选择Tim1: O: x1 B$ o( \& b: ^! E$ h

1 L+ ?3 [* g9 {; N* w0 e( v4 h/ [
20200506195646509.png

" A" ~4 {1 T6 B4 l/ f9 Z% R
% S0 m/ M0 O8 {: H, o9 N" E4 T9 K: l: p4 X  U: N& X. o
20200506195858560.png
, K( M! Q: A; ~; k; e( u
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
2 f3 u( U- ^! P# {9 R# W! E: T( i: h# q% C
20200506200224221.png

* \+ V8 Q+ J6 K- X' _& v+ O2 k! Q5 S; J: R+ F+ h
20200506200238995.png

5 l2 U7 x) U$ S, u9 O; z, i( u) X3 R! C  l+ z; p8 \6 i+ K5 X& l
          点击生成:
: L' g, k* |2 S8 C  h; P8 u* G
$ G% @9 H5 N# i" A
20200506200307740.png
0 ^& h5 H& e$ s% q& N5 z
: s: O0 u# l0 I! u
        2.7 打开MDK工程,编译。; f+ I! o& o, p; R
0 e# |& Y( x0 ]
20200506200436528.png
7 u) |* H0 N2 B0 Q8 Z
1 S0 c4 P3 o/ j6 e4 _# ^: u
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码). l6 e; E/ d7 M' |; o* |
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
0 _- ]. |$ _+ j; G
- J5 B6 {) J! k$ {2 ?
20200429112256841.png
. s1 _4 v& [" S9 I7 C  D* G$ c/ g

4 t; j6 W3 ]0 O3 s: l1 m4 m8 d2 k9 o

, }4 g0 W, T8 L- d7 @3 A0 Z/ z           2、GIthub下载旧版本 (无需登录,游客下载)+ A, S0 E* X4 V" ~- g
1 A7 P+ I/ F0 f& U: U
2020042911303468.png

2 [/ A3 J* V' u$ c
0 z" v0 @# P1 H2 o6 J' j$ h
20200429113058746.png
' ]' b: Y0 C& e2 i' d, z: L
: j6 H/ L  d3 {$ e* p
20200429113120781.png
4 G- m% `2 E7 {! Q0 A- v) i2 k2 x% R

4 S9 D% f# a. K8 P- f
20200429113137737.png
; X* R4 U' T: I0 G* ~
  M7 i, j7 b! c0 T1 `5 Y6 ]8 |4 e
20200429113200510.png
4 P) L: S, Z$ c; u4 Z/ _0 j
; W! U% ^- ^  d$ A
3 m8 E, @  l# \% t; i

; L9 P! f6 C/ A& l# F8 c* ~1 G+ v' z& _4 V
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版