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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作. u! c7 j! k' a4 I% X
       1.1、Keil版本支持STM32  G系列* D5 q6 u$ G: I& T* s

' p, R/ U% [( q% e
20200429115157997.png

: d) P; E" D8 K, ^) f' J( Y: `# B+ U# f: g. v2 |: Y" d
     1.2   Keil下找到G系列文件并下载安装) I1 j- D, y2 q2 T3 a) q
# [# R; u$ Z% Z3 i6 S3 `
20200429115557162.png
. f. t0 l$ }8 h, T3 z/ Z/ H
. _3 _5 v! W9 L) }5 ?' m6 _# [; x
20200429115708530.png
0 l3 s) |' x2 B% _. _# k
# o4 H1 F5 ]4 Y2 w9 r
     1.3  安装成功% T" M) o! i' E) R% q% @# O

2 d8 a. n  h5 S  p4 _! _7 v. B6 {
20200429125318914.png
4 q, N+ G. ?4 }. p
% z7 Q; m* P) B
20200429125503306.png

  H. U, v3 B( G' s) o
: o  d8 {2 k" L0 W# x        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
( ^" |- f% S+ K; F% J$ M# b4 W" y, c$ V" U5 V& U% i
20200506142417629.png

& ^( @" s8 r9 _4 s$ J8 @4 |& [( \' I7 _
二、移植' _( o- J- k' t4 ], u8 B" e
     2.1  安装STM32CubeMX,目前ST官方主推。$ }4 J9 T& q) @& _, D9 }

* I, t8 Z1 m3 h( c. r( }
20200506172016978.png
: S+ U- [! r; a+ p2 ?% U; U# F

' Q+ _# C! F& n4 e6 \+ t       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)5 Y$ k1 j, S/ Y) G8 ~
+ z% i# f( b' g# j5 R& \) @
20200429203723180.png

& e0 ^$ J: d7 D3 D4 l. s0 \9 ^- W; J" @% [/ D5 c' Y- M) b
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
. x- |% a6 h0 D9 `9 }% p$ p3 M$ ~' a. z: g$ _
         我这里是添加本地packages,即通过3.2已经有下载了hal库。* A0 X* |6 \. _, `7 ]; d+ Q
  \! M/ n  G+ k  _* E) D% l
7 o; X5 D  @4 ]# H9 |" I" f6 a3 i
20200506172459425.png

6 T- f  G0 ?7 [8 k
3 o2 y8 r: p/ j
7 T2 F% v5 c7 u) N8 e        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
* ~/ `$ O4 N7 I: w  U+ g
' B! D( s, F/ A% T; v% z
20200506195024589.png
( M: ]0 R$ \" F/ q" j7 y& `  H

: q5 ^) \; g$ z7 E) q9 C        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg3 _: R( P. ?8 z

- w! P# u& m3 e) x) F         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。) p0 t5 X/ d0 C% ^
3 C. [  K6 O" L, |; M7 A+ X9 w
         SYS Timebase选择Tim1
) F4 m- V/ }( r2 [9 x$ M; K& |& |& I8 v/ @, [/ F. o
20200506195646509.png
; {- c6 U3 x* C

, M1 U& L  c8 T
4 H5 ]% }6 F* J4 f" K
20200506195858560.png
$ Z( J3 [" Q6 N6 n' Y$ i2 Z
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
4 T: H7 S4 E1 t4 Z1 W. I  y1 I& G3 m: q( u; j% @7 Q  s
20200506200224221.png
/ V4 L/ S, r$ @) N! n$ t
  }! w1 x3 u! y1 R9 S* [  d8 f
20200506200238995.png
9 v1 D' y6 g3 N1 c: v  C

* ^4 `5 e3 F7 U( T. ~# d          点击生成:$ u  A' _+ h1 e- J
6 z' b7 B- G2 x1 j1 q; ?
20200506200307740.png
9 `( e, ^( g' @. O! S) Q

9 b6 k# T1 L$ {/ M( U$ V        2.7 打开MDK工程,编译。( @* @) {1 Q- J" d% b" |+ n# J" N

2 F* o- g9 h1 t. r4 H
20200506200436528.png
8 E2 x0 e; ?! l

& \9 [0 o+ B# q2 P8 W0 l' G) S+ I三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)2 W, h, a" o2 T+ c+ A* p
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu: N( i8 |1 S7 o% V- O8 B2 |7 E! \

9 t9 t3 W* M( H# F2 N* M1 D
20200429112256841.png
- ?2 s0 ?, ^, l- n8 m" K

5 W( Y% e$ L) [" U& S7 x1 N7 I( k$ i: z* u! H4 Z

7 h& X" S$ h+ u$ g0 c, D1 s           2、GIthub下载旧版本 (无需登录,游客下载)3 B9 w% |4 p. I! b3 j

8 |0 F: ^; o) {/ m* V9 ^
2020042911303468.png
8 F9 e' l! V2 h+ a7 O/ K# O

( R+ y7 I+ P2 G, }3 ^
20200429113058746.png
; F" _+ r+ c2 W4 W  m5 R4 E
: h+ R3 T4 v( ~. U0 E+ W& ^
20200429113120781.png

5 w( _/ w5 x: T! w* `" N
, N' j( _* A4 R' j
20200429113137737.png

& H" a" |& S& j7 Y$ m3 Q0 N2 J: l4 p
20200429113200510.png

" ]+ q8 x) R% R: X& u/ q6 \4 P3 l( u- t
. |  c# j/ p1 l% V
: T! m; Y4 Q. m  v
& g: H. I0 Z% g* M6 Y& n
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版