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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作& j* a) }. \# V
       1.1、Keil版本支持STM32  G系列- e0 c+ M/ j( q. ]' D- ~8 U
% n$ p6 x8 h( t: N5 b
20200429115157997.png
* \1 B9 B/ l1 N6 m$ K
3 v& t4 J& G1 U, \7 i7 x2 b% w- N8 G9 z: Q
     1.2   Keil下找到G系列文件并下载安装
: V; |* y# C% F9 Q. i( N
, y) C+ d0 p) ~2 G  Z' H
20200429115557162.png

- Y! \0 X( \% ]( B- a) [4 D. o$ V6 }, M
20200429115708530.png

% \. O, ?# t! m1 }" d' X5 M* l% z
2 W2 S- O. b, Z: ?: o     1.3  安装成功
- X( z) w8 ?& K; X" N/ |" o: C/ y; f5 R7 ^
20200429125318914.png

! K  F7 a& x* l0 s0 ~0 d6 a0 i% ^( O/ i* i) ]7 P
20200429125503306.png

' o; o" O+ }$ {5 h; k/ T6 K6 y2 U  O3 w" ?) n5 m) R2 B# c  b
        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
  R" f  `. r" |/ w1 Z1 p! L
% U) |# L7 e8 S2 N
20200506142417629.png

' s8 T5 _$ m; F3 [( o
& i, L9 |' N9 d: D+ M二、移植
1 T; K: }  e/ x0 ]0 h2 Z     2.1  安装STM32CubeMX,目前ST官方主推。
2 X& X5 i4 ]5 P+ J# Q* `! Z" j& R# j, p1 M" ]
20200506172016978.png

, H( u' Z% M  w- r  }, N" p1 ?6 v8 X4 X& J+ z0 @
       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库): H; {/ }. J, n/ I" T5 \5 ~

3 r- F, F. Y+ F; Q
20200429203723180.png
' E* R8 e4 ^* X( c, m

0 Y% o6 y  e0 ^" z1 r1 |$ |        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
* {3 Z; m5 J5 o" p2 f" f8 f2 m. Y, \- c
         我这里是添加本地packages,即通过3.2已经有下载了hal库。
' p, R0 x( E3 }2 |% X9 c/ V- x+ h/ A1 a8 A, ?0 x8 O
- X& d& I# Y+ k- }
20200506172459425.png
$ b. G& B  h4 I* \

! |& c2 m; {/ |. P" B  H* |( I" ]6 Y+ V! k+ i3 h- G
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
9 p9 c2 d! G6 H( G+ A, K
; Q. L% R$ Q+ L4 o$ u. |' z* C! b
20200506195024589.png

5 j/ d7 G2 o1 y$ V% O
) N1 h# q% @$ v4 y' M+ W$ Z        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
8 f! @# M7 h; M" w
4 ]. Q+ O' S: [- F. U* S; U  b         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。: e" M! m+ D7 b/ j  K
4 g' L- u# ~+ N$ r
         SYS Timebase选择Tim1. V+ u( I" K$ ~

5 w! s  L% b. M  U5 e( f+ T, K
20200506195646509.png
6 `& H$ w# I9 |" o8 J) |4 C1 |+ Q9 n

: |/ ?$ O! Q. \+ h' [7 \) F' ^
! R$ O9 ?% c2 g: \- R6 S% Y
20200506195858560.png

) l; _( b! w& f/ C# l+ y        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。/ t5 C4 X& T' V" t$ m% z5 ^

8 ^  ^7 u6 D+ ]2 X
20200506200224221.png

9 _; D1 ?7 [2 @* N4 y5 V- l4 v3 R1 w: _; R" C
20200506200238995.png

6 Y9 }8 ?  k0 o' s! z$ r( s  O
% P! F3 U9 P: G7 M0 N5 n5 u          点击生成:; X! y% e) ?, B' ~
8 P8 y. x- q3 X8 p3 O, m8 N9 ^
20200506200307740.png

, M  y3 |# ]2 V# w6 D
  b1 d" Q- R8 d        2.7 打开MDK工程,编译。
8 l8 z% O2 h9 o2 m1 E* [& T) t
  o& G8 W& ?  _, d4 K( X! g
20200506200436528.png
+ q. Y, _' m$ N5 k& j. q/ J- C

! _9 @* t5 N: z" e# f/ t三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)
7 {6 r+ P6 l$ b          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu1 O, L+ C  a  y, r  R/ _

) ~& ^; }6 @. R5 r- ~9 {
20200429112256841.png
" p- P4 P: K- q: U
5 o0 R$ @9 `  Z" k, n

" H  s- Q! _+ c  l5 k) F
/ [( e. I1 W" J+ [/ P; i           2、GIthub下载旧版本 (无需登录,游客下载); I+ N- y* d0 m+ K

" w6 W1 y9 h! f/ |
2020042911303468.png
, A% z6 w' |+ x0 p/ p# V
, M9 y8 L5 ~: p+ U9 x7 i$ J6 G
20200429113058746.png

/ h- T; G: s; N& r0 Y# P
" |* p+ l1 `  f2 C9 R
20200429113120781.png

7 n9 F8 K! ~* ^. C4 W" u, v$ @
8 M, V2 P/ B4 @" `
20200429113137737.png

* R& V  W, j# t, e
+ Q4 p6 q  e. I3 ~- [; _  Y7 m
20200429113200510.png

8 `, i5 `4 u, a! {
' Z% l2 R, _2 b9 k- Q
& W4 {: q2 s7 G2 r' K
. |+ Q. I( p$ z5 H$ _1 p7 g6 U% A2 z$ g3 }+ `
赞 收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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