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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
. [/ f1 c+ A$ |3 G$ ^8 l       1.1、Keil版本支持STM32  G系列
/ c3 P; R/ l+ T3 S7 O5 |) c* ~1 f2 ]
20200429115157997.png

$ y; F6 I3 ^- r, R
" G2 |& n. B- q% j     1.2   Keil下找到G系列文件并下载安装6 l9 P4 o: {' x- j- p$ l7 N

: Z% O: i: O( o  |, L9 y9 t' {3 r
20200429115557162.png

5 m$ W) a2 I# W( J! v! U/ Q' b
5 Y+ e6 B9 {+ w" f
20200429115708530.png
4 J& ~6 r& }3 M7 q
' ]0 V& @5 Q) E: A
     1.3  安装成功
* u( a! H& b4 e2 L. H! q+ s# J
, E2 }7 A1 u3 U$ r
20200429125318914.png
" Z& X( ]7 [# h7 G8 u, e. E

5 |2 z$ P+ D% A; O6 }! G* Y: [/ `
20200429125503306.png
) f7 F% y8 \0 F( O* ~0 j2 k
+ t8 o- T* m# U6 N1 T0 I8 {
        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)# l( u" Q4 j7 q2 `8 Y+ J
. e2 h9 ^, Q* w3 o1 S# T
20200506142417629.png

% |2 e) j$ e* u  s" a  b; Q
" b5 K8 C  W2 E1 ?2 J& I二、移植
: Z, }7 r* u" P! M     2.1  安装STM32CubeMX,目前ST官方主推。
* b0 [# U' A& h+ K
% w% T+ e. I1 Q9 ~, g1 R" O
20200506172016978.png
: G* @( q0 p5 J0 k
  b9 m% R. G* s8 N
       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)* c8 S/ X+ ?, |! f# ~
$ Z- s# D  x, N: q# l1 `
20200429203723180.png
& B% Q1 f& q% {# A
" Y# P" `+ w  B( p0 I
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
- ]+ ]+ b3 X: B& T1 j
2 r0 I) K" m  k1 m2 U         我这里是添加本地packages,即通过3.2已经有下载了hal库。( w' `7 E6 L) k! @, e9 @! q

2 R6 E4 z: N- ~$ Y
4 y$ }( J/ B5 W( n/ t
20200506172459425.png

  N/ W$ s$ W7 w9 j( j8 V
- s+ }8 w6 u4 ~& c6 q
: C  A! r1 U4 h, Y& i8 N9 K        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
/ |& D) s7 S* I0 P; Z) r& c0 V8 G& M/ `% }. d4 t
20200506195024589.png
) p2 H7 I+ y4 h% C. {# ^
9 s* q2 i( q) x. k
        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
1 v# O, @( h+ q, z/ m
: b! i1 C# r: [4 A, ]' d         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。* {4 `; d& n, S0 U  ^* Y7 z
3 I( I- o$ E/ s8 i8 n* j
         SYS Timebase选择Tim1
2 }2 I" d' R( l
8 n6 z3 C' U+ }9 l" i5 d+ Y3 _- g
20200506195646509.png
& s; i& A5 ]0 i# l+ _) T/ F" r
1 \3 x) R/ O6 Z/ i5 ^* J* Q

4 ?' K3 u: f$ F$ c$ ^
20200506195858560.png
5 w  O* D9 m; ^9 o
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。& J; g3 M7 M7 z0 w2 Z, R3 o2 G9 L
- L& ?' u; F. {$ Y  S* s# R
20200506200224221.png

! X  }) u+ q' l' Y1 o5 H) s
& \# w! X1 W, j7 `5 E/ c! C3 R- f
20200506200238995.png
" A8 ]2 A1 z9 D2 n" l

. I6 l3 B* Q3 Z5 a: X2 r          点击生成:7 }- H' K5 D$ ^3 a( z

* A/ G& |& m9 ]- l$ P
20200506200307740.png
( ]% O( m9 V" p+ @8 N" ?
2 G1 v8 `% ?! h- D, L  Z
        2.7 打开MDK工程,编译。
3 ?! d  B' [6 m9 a% O5 c) w; D/ A& P0 f: c
20200506200436528.png
$ |  r" o7 ]" K0 ~* |+ K
: j$ k* u2 z8 c9 I
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)
2 n2 s: B8 C2 [9 K          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu. p! m1 ]6 q4 C: K8 T
" X" {9 Y/ s: ]0 z1 h, x
20200429112256841.png
1 |2 a- J' P: z( _! v) S, {( l
! m' O* V8 n1 n( m
; W; B- ^- y7 v9 g, x- H' t6 p/ Y7 b: ?$ s

3 o/ |3 `9 Q2 w/ R# Y5 K( [           2、GIthub下载旧版本 (无需登录,游客下载)) W! ~) j9 j( D9 U; _/ n" d
( r! _4 K( j; Q) K, Q- L8 z
2020042911303468.png

, `, q* V: i. i3 |* \* Y  `' D# j/ |) o7 _0 }% S( b
20200429113058746.png
" [, w9 D  ^8 e5 S8 t

% q7 N7 H- A0 M% W
20200429113120781.png

6 v) j- K! z( T" L! N* K0 U% w
, L0 [2 N" S2 U' e5 R( t0 B
20200429113137737.png
3 W+ S0 O8 o2 `$ ]9 t+ }

2 X. v$ P1 D6 k! |. ?
20200429113200510.png
, ]* p7 C: u6 }) Y0 s4 l
. v7 [2 f, {8 r3 ?, b3 z" X$ Q9 ~; Z) K
; N5 N2 B4 g  r' p& R

7 P. x, E1 c- o, J3 ]/ O$ [1 [- B& t& X  I: C$ H; m
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

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