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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作; K- T( ~' w9 e$ d% U8 h8 \' q4 J5 |
       1.1、Keil版本支持STM32  G系列' k: Y( T$ J0 v' m( N1 E% R
9 b& F" i# ~3 V8 F6 t8 C
20200429115157997.png
$ J4 v& n, @+ J' s% R# e0 o' f

& Y7 n! t. p# V" M     1.2   Keil下找到G系列文件并下载安装+ V8 K5 E6 @) w, D) d

# ?/ _6 T/ _5 p* P1 \1 {
20200429115557162.png
; P# u* x* P. t; ]

: T! c! d4 ^9 o* S( H% l
20200429115708530.png

' B: s5 d% K5 C1 b1 B& _
6 F% r; j. n6 O, T: D3 e/ D     1.3  安装成功
3 u, t! R% q# U$ h; V" T0 ^
8 K3 s, P8 ~4 _8 U
20200429125318914.png

9 B. y: ^: i% M6 e3 v; I; f: U7 s' K) |$ f  `2 C- x8 K) I7 J( M
20200429125503306.png
/ y/ |$ X, O( K  a

% ~% B. V2 u' p& w& p        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
! q# K  Z; {: ^( t' [
- g$ ]' [7 V5 y
20200506142417629.png
- A- t2 N, X' C  `. A- }+ E% r

4 x- Q8 H+ K! ?  o) [二、移植7 R/ N# z4 c3 F, a- s; W. z
     2.1  安装STM32CubeMX,目前ST官方主推。( h' @2 O* l4 G# S) }$ L6 O

( \0 M2 r4 z4 N6 _" m( }
20200506172016978.png
; K7 |: W' {7 u9 ]2 Q

4 a; S$ T$ q, a0 Q% O) R       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)
6 U* c0 J& V" L" p
  S& P- O3 q( k, E7 P' S1 @( a
20200429203723180.png
4 X& z, z- [- x2 w/ \  @

' b+ v  p. ^. r: E" j; W: \0 S        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。: a7 s! ~  H/ y( W  _3 x) h
; V+ V: O, l* W% ^, D
         我这里是添加本地packages,即通过3.2已经有下载了hal库。
" ]' i3 _# B0 r: d" R* h, u- J2 ~5 b5 u% {

4 y9 p2 p+ t/ ?( d- m7 l, L! U! |. H5 W
20200506172459425.png
. w6 {& `: X5 i! D- s+ h8 p

' T# }) R1 a  A/ S- ^. k  H7 `/ Q: v0 R# I) R% e- V" g
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。9 H) P. g, F; h, l& d1 F
. T. l1 k* F" k9 O
20200506195024589.png
. D2 A- p7 n0 D& q
8 Y3 q- K; w# f+ t+ i
        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg* J) K  q/ X6 }
1 x$ c& }/ Y. m5 B
         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。$ {6 @. C2 x6 A( u: u/ R! O7 g

/ o4 S: c1 E$ [  }$ t1 k; f         SYS Timebase选择Tim1" n1 B; b& H  B% w- s

+ ]6 d9 |, I& \
20200506195646509.png

& z5 T/ j; \) E6 o- f2 H0 s4 d" b' {0 w6 C, W+ Z! s
4 G- \- v0 K  O
20200506195858560.png

3 x# q# i5 U4 q& W. Q& f        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。; J$ I& C" B* J/ p* w

4 n0 p) y3 f; h& `
20200506200224221.png
8 T0 ], T$ \1 x* Z
( Z- k. Z8 {" z  K
20200506200238995.png

7 b/ e" X- n# G' @9 f3 r2 [& W/ s5 }7 u8 e
          点击生成:
3 Y' {+ t0 f2 E# j
  d# ?9 B0 I) z5 F4 |
20200506200307740.png

( A8 h1 ^% o  t9 ?& E5 a# Y. `8 J! x( _1 g/ L
        2.7 打开MDK工程,编译。* G- c: r" U7 c" L) k

+ C, K2 Z; m# f" }3 O* J+ z; x
20200506200436528.png
! ]( H2 h% G/ s% [
6 \# x) V( n1 c9 D. K$ Y
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)( H1 Z5 G/ u  a
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
: h# m0 W" m, ^
; r; O/ @3 n. B2 V8 i
20200429112256841.png
# @. T8 q, o4 d* O
7 f" b8 j, [1 B% J, d

8 j; Q1 t. A3 Q! _( w8 ^/ y# D2 L1 R* _' U( V  y, q, c
           2、GIthub下载旧版本 (无需登录,游客下载)/ O3 N1 G% b, u+ E5 @
; \  p% P- F4 U( M) T& k. L
2020042911303468.png

4 X, a) K# }  J  |2 }7 M$ E2 K7 o$ T9 C) Q: w( |# B
20200429113058746.png
+ c+ F+ @) z; h# D" U

  r' p$ A- p1 G9 w9 w* r
20200429113120781.png
( b3 K, k. A- h3 Y/ F) C, n5 c
, D* O* a6 G; m3 L
20200429113137737.png
) @, }. h' p) F" s$ d/ F7 a
# v9 t! |& I; k- b( [! n
20200429113200510.png

; w9 `9 v# E+ ?& y, p
  ]) f; f: H' V; k* s' o
$ v8 W( n0 Q# W8 |6 w8 O6 ~- C2 S! }/ Q: ?

! z/ K) Z9 d& p3 b& h
收藏 评论0 发布时间:2021-12-8 20:00

举报

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