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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
! {2 }( R% q0 X/ p  ^* Q4 P/ g6 L       1.1、Keil版本支持STM32  G系列2 z& ?. m7 X6 G$ Q, K, A
- M* M( e2 m+ d: K& y9 o
20200429115157997.png
( F, |/ A. p, y1 {
) f  E2 @/ T" a+ S. u9 E* @5 }
     1.2   Keil下找到G系列文件并下载安装
  G! s0 y; Z  V( z8 U4 b. S) C
( m7 O8 ]) T( Q  U6 z
20200429115557162.png
- r& `) e: z4 t$ D! C0 U0 D6 h

& b6 o0 J: o0 @3 _  @7 u
20200429115708530.png

2 B7 x: o) r$ L: u. C! x( }' @2 q) f- x0 W& f0 ?8 D8 L
     1.3  安装成功
; C% w, B) C8 v" |4 ]* }
! P" R% _1 Q2 {; B0 P
20200429125318914.png
# N* M# X  d1 A* x! ~
! B, X! C: M8 r& W* n+ Q
20200429125503306.png

9 H( A: P( D$ S  U7 O/ u& ?+ O( Z3 Z) H$ |# o5 ^5 W
        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
4 Z: |7 p0 f" ~: ^6 `! ^- P9 [6 Z
20200506142417629.png
8 i1 G/ ^, Y+ I" p
( C# `' s( V9 P
二、移植. N2 s3 Z) X/ N. `
     2.1  安装STM32CubeMX,目前ST官方主推。
0 {  n3 B3 _3 l5 R2 U. L5 r3 p5 w; f* C5 P# k/ ^& P, b
20200506172016978.png
% C$ e2 G9 u& G
2 b) f  h' e! I+ m; k  _
       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)
( A$ n) ^) q! t' u, G% M$ [) m3 n
20200429203723180.png

. [- j8 ?+ O) J, q# `' N4 t( o2 Z6 r% H. _. H$ B
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
* S$ v  X, y) C4 y" K+ [3 w4 v- W' d# j* ^1 q) S5 v
         我这里是添加本地packages,即通过3.2已经有下载了hal库。; c6 K% K, b; `# A
0 a. {$ ~6 a. i! i" J: w% j
$ C# N/ F: e" u; J( G* Y9 a! n
20200506172459425.png

, N5 [6 f& E  T3 x3 T& R7 O. V8 O; ~5 `2 ~9 D: x( z
9 n/ s4 d4 {+ l! r* F% M  t
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。9 v3 y4 k9 U# l5 L% A) \  \7 S- H

& \" K. J4 r: p; k7 L! m! \
20200506195024589.png

/ _9 L% z1 t6 x8 T; E) v9 J& e* _8 A1 ~( T. ~; P6 V" \
        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg! F, g+ I$ r9 p

& Q* r# u2 N. o7 |' \1 p, }0 R         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。. _& @9 x! o$ w7 ^0 r! u* P
& m  c+ w$ \4 ~. M
         SYS Timebase选择Tim1
7 N* z/ q; i8 R+ f0 U) I( `* |' z5 D' }
20200506195646509.png
4 U9 f. j1 ]$ ?/ G1 J$ o$ N
: s/ A7 e7 m: u4 E
5 {8 ^+ z; w- f/ R' ^
20200506195858560.png

" C% }: [) _8 D" N5 h        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
' j  S+ R) _, T) h* e5 @" \% v8 [9 i; o7 s+ p: N* @. a
20200506200224221.png
$ X3 I5 K, s( E6 L

% E6 s9 H0 W: N* c7 r( L+ ?% x6 j
20200506200238995.png

' P( K9 u  `+ D0 E  a& x! I+ L! R4 ~$ E2 H: B& e% v
          点击生成:: H* P+ ]6 Q- D9 ]. V
+ Z/ n: D  \7 m* g) G. v$ @
20200506200307740.png
1 ]) K) [6 l) v
/ X6 n0 M; q" y8 Y& p
        2.7 打开MDK工程,编译。5 Y- u% q4 U0 @  y0 P% G, Z
. ^+ X& J& t" E) Y
20200506200436528.png
3 d) H" b0 b% m( ^
9 }% z' E1 f2 Z+ I
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)8 t# R7 ^! f' |$ Q$ @1 b6 O5 D9 u
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
+ y) H9 f8 C7 k5 ?* \6 ]8 u) Y! b. R. x) z
20200429112256841.png

( [8 B, x- G% x: @5 Q2 N% r
& J7 n: f8 A) ^: p( T1 m# I  t+ q. |1 e$ H/ z1 V, l3 a

( @5 Q2 K4 i. t+ B# E           2、GIthub下载旧版本 (无需登录,游客下载)
. g* k* X  \$ M9 s# W2 f5 I& w4 {! t0 F) g) |4 D
2020042911303468.png

2 e0 i- p" @8 u2 x5 w( n- Y: v
0 J) b4 a# \$ u7 a+ Q! _6 ~
20200429113058746.png

2 a! `& @+ f# d. k* i; L4 }# C9 W6 L# |& P: ]
20200429113120781.png

4 x& L! d7 I' X
- f" A% L  D- G# M/ P9 d
20200429113137737.png
0 g0 i- O5 o7 G' |) \9 N7 K

: g- u. Q& A' E8 Y, G  X
20200429113200510.png

7 h0 A7 f' ]: p6 L
2 o& K6 J6 Q. [- C/ [% g  @+ e5 {- ~* p; C# b1 g" Z: L. m
) \- o& Q4 \( y4 x4 h: X8 H% R
3 o/ i. f  x/ Q- K
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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