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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
% }* I& y! V5 Y! u# }; }, u       1.1、Keil版本支持STM32  G系列
7 m, E! u; ]! t! q9 k
9 y; C  ?3 Q) M* O# U) [
20200429115157997.png

/ w! ?" R. p$ B  E2 }0 C- d
( i% w  p; r+ a9 U- x     1.2   Keil下找到G系列文件并下载安装8 `9 t' t- x$ C: n) F4 K6 C# D0 S

2 \/ |/ y& p, g4 }. g! X; V
20200429115557162.png
/ }! Q9 b7 A  A9 d: K
: w+ _5 L0 L: v
20200429115708530.png

! i. Y( D* [0 c: x/ B
3 E. c( v, p1 T     1.3  安装成功
0 U% S7 Z& |8 y# R2 y, |- h" O; z1 H4 b8 A+ e
20200429125318914.png
" ?: ?) j) H7 [. u# U
: Z; M* d3 k5 x1 ]: w- [) d
20200429125503306.png

' M+ `) x; Z/ `/ Z0 a# z
6 b" d2 u) E7 y9 |8 E* t0 @1 S' ~        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)5 P4 ~+ |: X9 K4 l/ o7 t
4 p2 U* _) F( B* F
20200506142417629.png

. K1 ~/ ?- i# B. u$ y
& J8 e1 _, c" U0 d6 ]& n二、移植7 ~5 W. y2 y# K( H# W
     2.1  安装STM32CubeMX,目前ST官方主推。/ S" h2 G; ]% z" m- L

2 |+ Z5 s3 a" M: R* L7 J0 }* @
20200506172016978.png

5 Y- s7 ~- d. J7 E
7 Q1 P! k( [9 Y# `* U       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)
3 a7 A0 ~; x) [/ h. K- ^9 |; j1 {' }
20200429203723180.png

. ?6 V9 v. `2 d+ F: x8 W/ K- ]
' |1 D! G8 Z+ B4 m        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。# n; c& I( I0 L; @! t* ]; e

. c! ]9 k4 c. n, J  j         我这里是添加本地packages,即通过3.2已经有下载了hal库。
7 P" E, i$ u4 j  g# `' z8 O; _  w# f+ U) P  u
0 O2 E4 a5 S0 O: G
20200506172459425.png
" h4 q4 z: k4 L

8 s! M1 N5 Z# W  J3 N6 e9 w  Z/ Z1 I6 {1 X- P4 i2 L( F, u9 `
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
7 _4 p) W& O/ a, q/ Z( G9 x- i  a5 V. K9 Q8 `
20200506195024589.png

; r$ Q9 k" K4 N: y$ V6 v! |3 m" y. ^
' _7 ~0 r) \  N" \7 U, U        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg) f3 h" `! h# T) h) B8 v9 T
% T  ~$ E0 z% \! u
         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。' ]4 Z9 g  n  w6 l" q
# c' p( ]8 K: D& h5 D5 p" R
         SYS Timebase选择Tim1
: O# ?9 j, H) \1 b& J) T" d) W; R- c
20200506195646509.png

* l8 x- k  Y! m$ _* x) K4 m$ D, K% A7 r" r

( g7 S6 L! f& r0 c8 Q7 f
20200506195858560.png
- \/ g) ]5 W- g- f5 Q2 R: e
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
4 u1 w5 o9 R  I+ M7 L9 A, B, f! p" l( V$ n9 ~, \1 u. T( v! s( x
20200506200224221.png

) k% x: d9 G5 x6 a# l5 a; v( K$ {
- M' p: l& E7 t5 d
20200506200238995.png

& _# \5 K" ]: R# a! C. x' P7 X% M
          点击生成:
4 {' y4 d7 G' Y' n
' k# G: H" x& \. q7 _
20200506200307740.png
4 J" S6 Z8 Q, I3 K7 e  O" F

# a1 S" A, |# |* \9 j0 n        2.7 打开MDK工程,编译。
/ j. q4 I0 x/ q' i- D; i8 Y: j5 u* S# U4 z8 l9 n$ d
20200506200436528.png

' i1 |" y4 y, b; f6 S1 @
" ?  {6 |- L( T3 a: Q1 ?三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)
' l& i7 \( |* W. v          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
' @8 a: g0 A! n6 U1 ?6 j  O. X# u0 O* Q
20200429112256841.png
! {/ ~; L: I8 c* n* c
- V- U/ Y( ^; |
& x: C+ @8 M$ D/ ]% ~# }, x) T' L" q% b
5 Y4 ?; n( P! @# k! x
           2、GIthub下载旧版本 (无需登录,游客下载)
( g; F8 W" X9 C
& ~( W- e; S" f; [$ v+ o0 @# F
2020042911303468.png

* h7 O/ W; B4 E) ]2 u$ P% M( J1 @, M  ^: ?/ a' m) E
20200429113058746.png

' y, B- U, `6 Y  ^
8 b/ [% [& _  }& h# {  J  ^6 d
20200429113120781.png
, l' z0 C3 b8 S( e
; l7 I( y# Z# }
20200429113137737.png
2 F8 X5 ]2 E. w' p+ H" a' K

# n1 V& [5 ?! b0 o( R* `. v
20200429113200510.png

3 i1 s% f# g2 p- G' s0 p" G% e. M% h& d! X5 j! L

; {2 L4 k4 N5 Q7 t% U" d) `2 K# c& \/ ]) Y/ u) i) J
# G; v( N! F$ e- p3 o. ?0 v
赞 收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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