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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作# @; P3 y' B8 Z; l, k# n; w* }; {: _
       1.1、Keil版本支持STM32  G系列
' b* i& r; L# G# N) G6 X! [6 C: N( R8 n) }
20200429115157997.png

  ], w  s( \0 @5 y
' W: Q: B* D7 b: ?     1.2   Keil下找到G系列文件并下载安装
8 V4 C3 E; p7 K# W7 I3 N+ s; a: \  r# r* H2 `1 x. k2 R# s! J# I9 a. Z9 C
20200429115557162.png
+ P8 R6 ]% t. S
6 T0 X( ?: I8 M
20200429115708530.png
0 W  c6 ^  x* H$ o3 l
7 w; y" v7 n8 g( e2 s+ C
     1.3  安装成功2 F. s: J, @9 O2 z" b  E8 j- E; Q

& p0 T* }7 Q0 T
20200429125318914.png
' D$ i7 P6 V+ b1 m. [! v1 p

, V4 [" H% C, L! y1 |3 V4 l$ n
20200429125503306.png

7 {* q5 v; C* H
7 f3 J* _* ~2 l2 O. t        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)1 e/ T4 F2 N* }" a* c, J. F

" t. ^9 J$ f$ D; m7 p$ f
20200506142417629.png

/ b& A6 D, B7 v( N& Z& u! \* @7 _) c5 X$ I4 Q( b
二、移植
/ o  B! J: k8 T! D) _     2.1  安装STM32CubeMX,目前ST官方主推。
5 B3 f$ w+ B1 E) w3 C4 c/ m* j, |
7 k9 ]3 {8 }; w" t+ ]9 J+ v, z
20200506172016978.png
! w+ L0 u4 P3 A

: s1 T. L8 F5 Q, S' s4 x       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)0 Q' e8 W* E5 W% x
. P+ S  b  z2 c. w4 F0 ]) K$ D
20200429203723180.png
5 y& q: s2 `( u4 f5 K9 M( N
% ~% B  \* }* _8 n- J/ C
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。  o; s4 r2 ^( P9 a  y
+ s4 i, L! N5 [  D$ c: l
         我这里是添加本地packages,即通过3.2已经有下载了hal库。
8 J/ ?- d* U/ I
0 \' r" ~  q, Y! T- t
3 O3 [  `# O, Y) Y& @* R( X
20200506172459425.png
" s3 ^8 N# f! e! O# n* W$ g6 a2 H
/ V& T, Q3 I' T$ u7 ^3 k5 ~

' x7 E! s3 ^8 d' s5 M3 o# `: n        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。% T! P$ l/ {7 W9 u

( G! G! i+ r$ u. N" ]0 d5 _5 Z6 s. C& k
20200506195024589.png

; c  ~3 F( p( M; e1 h+ o& f; }
0 b" J* }# h; l5 r5 Z8 _        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
9 l1 x7 \. L+ ?8 g0 M1 c" D& N  o2 ~0 ]9 ?  }
         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。
: L& R) S  u' W9 o$ b1 F( L1 O2 k' v
         SYS Timebase选择Tim1: p& S% q1 V9 B& A" M$ E$ _7 ]
! s% b( I2 \' U
20200506195646509.png
# P7 V; j" @8 v  [8 s8 }4 m/ Q' U: O
  i1 D2 h! f) W+ V
* `1 u7 I, E. Q, p7 p
20200506195858560.png

  L& z& J: M$ h5 `        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
1 L; m2 G! W7 ^0 O) r- [
, b6 h: [7 w4 A# y; P
20200506200224221.png

7 J9 r3 u' G9 k) ^( o- A$ X' B' c# _
20200506200238995.png

- L1 B$ U, E; K- I, A2 R! r5 q% R. H2 ^& J4 g4 P0 a
          点击生成:
3 q% X  M; f3 T7 S8 n+ _3 N# ^5 u# c
20200506200307740.png
3 x5 x3 g+ v' p
3 F  l4 K# q$ t5 N0 p
        2.7 打开MDK工程,编译。$ M* Y& w0 p1 B' W

6 ?$ t2 W' X5 \* ]
20200506200436528.png
. R7 _6 S  w7 P  }$ J% D; p
5 R! Q0 g+ {' F$ A# O; C  v
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)9 d7 E8 |0 n# o- M/ T# X9 I/ V
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu  X+ G6 G% X* \$ u6 z% P

* Y2 k8 P% O- f3 E/ S7 V5 N7 d
20200429112256841.png
) F; K6 s: ^0 {& b

1 T, V# K7 b. ]1 N3 v% j1 c2 P4 I# W2 J3 U
+ ~1 n7 _8 g! t& r# I  ]4 i; n
           2、GIthub下载旧版本 (无需登录,游客下载)# E. k9 E: \) a- c; E3 N$ o& A
* ]: @  G# p0 Y3 @# X7 g
2020042911303468.png

! m7 r4 V' F" l4 E& T! N
- v, }1 t3 T7 F4 R% T9 d
20200429113058746.png

7 W9 ~' ~6 A" S9 u; I) s  L( x% b8 j1 p$ M# G
20200429113120781.png
3 I& l: W) _/ a% U% V
' Z- y9 K) Q4 j! P
20200429113137737.png

- j/ ]% }- l" D4 \9 ]! ?. L* d6 s8 [9 g
20200429113200510.png

3 r% J& ^- N$ J& f% P8 O( `) m0 E- W7 b
2 z* G# f5 G# d% p8 c1 \

2 h( u/ F) `% ?& z; U" g
. Y6 t; R4 y5 A( h. O
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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