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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作. Z: g1 ~; o! X2 {7 n( l1 M0 j4 q
       1.1、Keil版本支持STM32  G系列3 R$ }+ o' Y- W+ T/ T% R& M
1 D. ^1 ^' x5 U
20200429115157997.png

* j; |. r5 U1 P8 V+ W9 Q; G
. B& I+ q7 Z. n' f* b' y     1.2   Keil下找到G系列文件并下载安装
6 J# u" a: f6 q% U, j
2 }0 \: \* v5 j: r9 w
20200429115557162.png

; ]2 _* ^9 T: m6 k* W$ g; t; Y; }. l2 u. Y1 ^, J
20200429115708530.png

9 g/ d$ e  @+ j5 L
& y- x, U  {. j/ X9 f; h) {     1.3  安装成功5 B; v7 ^- P  k* g

  m# M/ L( a1 E! E" R7 r
20200429125318914.png
7 W! Q0 l1 A5 t' D0 l& G% E8 C
! ^- Q3 S- e* }# f" v
20200429125503306.png
* [$ a# Q. f0 K. p

2 C# R, {& }/ r/ e# ~        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
1 q+ C. p* G" ^& g5 T
  z9 ^& m4 ~0 W  P
20200506142417629.png

" l6 U1 f/ K6 @
/ q7 Q" O& O6 h3 @" J二、移植9 B$ X% l* K6 t/ r0 q( H
     2.1  安装STM32CubeMX,目前ST官方主推。
& a/ g0 U& m% N1 C! w5 P$ u
' \8 y' F( W4 ~4 i2 ^# s
20200506172016978.png
+ B. H. N  V% n- G

" a( T% M/ b7 c  v! b       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)' f! m8 C7 `; u4 R$ v5 _) E
1 y3 T8 W% t) P1 C$ Z& B7 y
20200429203723180.png
2 t2 z1 n; D7 o7 s/ Z# H( \, h
0 f! o9 M) k& L9 E- m9 q
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
7 O$ J! h  V7 W9 ~$ G6 c5 {2 Z/ G$ {0 `% h* }
         我这里是添加本地packages,即通过3.2已经有下载了hal库。
. r, j2 [6 x! ~$ H+ U0 Z3 L6 D( ~# @6 N, {7 R2 m
' D- F; f5 H1 o
20200506172459425.png
) y+ a4 F" q- x5 U5 f/ ?) H
$ \! m0 v2 h) s4 }: b
+ Z  y& y$ o8 f7 m# j6 v9 b
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
' Z+ ~% ]( D1 ~7 Z) N/ ^. ^% a2 F' g
20200506195024589.png
7 J( Q+ q) n+ `) w  L2 B  p9 z

# W3 T) @3 u  N        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
+ y3 ?4 j: U' I- i% W* Z: d5 X. _8 z* n% O# L  b: F& K$ k* ~
         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。' r) V0 Z8 S! W- u7 T5 F

, Q0 P  ~$ {0 u8 A+ t         SYS Timebase选择Tim1
9 W- o" {, K* P! |1 R4 f4 p0 D6 t7 Z) |* K- q6 Y, y) G/ e
20200506195646509.png
  a9 U& ~2 `: A+ S9 |3 L  n

$ A5 f! s' W0 F) |7 a9 B
! F; k8 u: y! o6 `  }
20200506195858560.png

7 r) B% E- n# J; W: I        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
2 Z. g( ]7 p! H. q! A& _
: h$ u. Z! b0 ]. _" c; x: g
20200506200224221.png

4 v1 t2 r8 F6 y, ?% x3 F! V
4 U. U' ~  W2 j  q& p# \
20200506200238995.png
" X; \# d( x$ `

2 ?& k+ M2 Q8 F% n0 |          点击生成:
! p7 p8 _8 F* }; ?2 |. _+ \: I3 D' @3 z) R( N1 m
20200506200307740.png
9 C# X' ^8 R3 I4 C% ?; Q; z

5 L' a4 H' u& b; c0 T. `        2.7 打开MDK工程,编译。2 Y! @) w, a% W" Y

5 c* K+ F6 W- l: V; }
20200506200436528.png
$ b, C" m+ E) C7 F& r  ]1 B) F

" u. I' p$ K: c$ [7 {: h三、源码下载(不使用STM32CubeMX移植的需要自行下载源码); ~6 ?6 }8 ?4 r9 `: o
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
) g" K* u+ `9 U  B4 @6 a0 Z7 p% I0 D4 V$ V8 c" J) p$ N
20200429112256841.png
" r! {# ~& Q8 x4 Y
. M5 ~2 v/ j' L
3 h: q3 c4 K8 b) H! q

% S1 b* w1 x/ N; s$ Z           2、GIthub下载旧版本 (无需登录,游客下载)
/ T8 z% y# A8 H; }8 \; [0 J  @2 q% Y6 Z( Z
2020042911303468.png
/ w5 K2 L! I& j' e6 `8 t( c
( \' v" Z5 x9 v2 o8 S+ _
20200429113058746.png
, l5 r; l) A& P! n
& H( _8 W  l3 @( m! w: R& T/ r; U
20200429113120781.png

( q, H, [3 R- ?, y7 g
, M- p( h4 W6 B# i
20200429113137737.png

2 |; b" e! W! e7 {1 D5 S+ g7 e$ k$ B8 T7 a% g* F, r( W
20200429113200510.png

" S2 T, W$ }! K8 A7 P9 N+ R: [. K) q1 `# I, o9 U8 w0 \0 R6 p: x

: Y3 @- H' F/ c3 N# h8 |% G) V7 R5 ?' |! Q3 ?  U
3 y* [6 T7 y( \6 B- }3 ]% t
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版