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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
3 C5 K# m9 H* q       1.1、Keil版本支持STM32  G系列) R" L  a' k& K6 K( m, Y

: G9 E$ R  u0 S1 [; ^  ]6 R
20200429115157997.png
1 G$ ]% @! Q- }: m  k5 c( P' D* \, I
1 T/ p' k$ r8 z7 F
     1.2   Keil下找到G系列文件并下载安装; z: B5 ~: W+ g* @1 ~  c
: E' P" ?' f/ `, _# f
20200429115557162.png
( }' u4 K, i0 [6 H; q: M8 N( C
, F" M: x; }: W/ b9 h* c$ Y
20200429115708530.png

' E! M# ^; h4 R. ~3 l
8 C! r5 l1 F9 Q' b% E+ ]     1.3  安装成功
2 y0 i0 }: w/ L( e" K5 A5 x+ T6 S% d& u7 x" C
20200429125318914.png

+ ^7 g8 P9 B9 w* q6 g7 K$ S
2 P$ r) e9 E4 a
20200429125503306.png

6 U2 S  J) `8 ^6 n
8 H' {6 S! e; V9 V) ?" L        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
2 a, R, K. b9 |# ^- R6 V; Q
& G8 D' P- w3 K# a# `1 H' h
20200506142417629.png
0 d$ o% i) L8 a$ E0 z9 I" ]8 K
: y* g; V3 ~0 e1 s
二、移植
2 _: u+ ]1 k0 U% P- }! O     2.1  安装STM32CubeMX,目前ST官方主推。
0 Q- d+ J/ d' [) a2 q/ @
0 o8 V6 Z8 A- c4 q" Z
20200506172016978.png

5 M& C& W! C8 s, ]" I6 |! T, x. x0 H
       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库); i9 \; m& B/ b3 \2 G

' J% ]+ A* y. c/ B) F: }
20200429203723180.png
) x0 V) ]& _( p% g3 I
/ s0 _0 d7 b+ g! U( H  b
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
. o' l! q; I) \9 g# ?- c3 [1 d3 `* O
         我这里是添加本地packages,即通过3.2已经有下载了hal库。
! Y3 N+ D3 {' X5 J" {) h: o, b" }, s4 Y# A' G

  k6 B" v+ T. F/ a
20200506172459425.png
* K( A+ }* s" O' F+ S
6 I& ]( j" Q0 ^$ T8 N
: v& w8 p6 J: ~# `: B0 x7 @
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。
7 l8 N: p9 u8 Y4 c  ^% i2 w* m. S! |" y7 r' n9 ^" |% d' K( g
20200506195024589.png
3 \( Q: z+ u2 ~, b8 g- J' P

9 r+ M$ t8 r5 ]% v6 q' L3 [5 ]        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg
3 |6 Z1 t- c+ ?" z. N0 @: a3 F: `5 n" Y& _6 y' d" p
         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。( T1 X  H( N8 s( `! [
, j8 M" C+ [  {8 F( X+ F+ {1 H/ U5 a
         SYS Timebase选择Tim1% ?1 u( E) m+ c& Q/ C

  h- g( ^- ?( l' e# L
20200506195646509.png

# h, D0 r: f; S: E- E, X4 Y. w9 i) Y% R* s3 p; P+ M- V
; k5 J/ C7 v1 L% t: a
20200506195858560.png
% C5 T/ C8 c1 B& V. S
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。" z: ?" p6 V7 a+ U
2 J0 _( P* [1 P% U
20200506200224221.png
( z4 j# x: G$ r+ T2 M
! m- U* r4 C; }& X9 Y1 f
20200506200238995.png
4 P: l7 b8 K# t2 T+ J) s
7 y# z9 ^, O* K- v: y; T
          点击生成:8 ?* Y5 `8 w, T3 L
) F; L, n9 c7 Q+ B( `
20200506200307740.png

$ b/ k- ?3 k9 n7 Q4 ]5 E% }7 ?- E7 t
# O2 g0 ^% ^* n; a! ]: [        2.7 打开MDK工程,编译。
& U! H' p* X! c: T1 Y* e9 s. @0 c
20200506200436528.png

( n/ s# O! m2 l, e
" x0 c, U( ]* [; S& H三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)
7 G( Z4 u+ C5 `7 M4 X          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
& R  g+ I- X) D4 X7 p2 w9 Y! k) ]  C" J. f2 R/ y; B" B, l
20200429112256841.png

+ O4 \# C+ K& a0 Q4 y% e, `& N1 z5 r1 Y( u+ c! F( L1 X

. ^# b! {3 b8 j% B1 g! W" l3 R# P2 f( s9 u$ A0 D" w
           2、GIthub下载旧版本 (无需登录,游客下载)$ k8 T: m. D( f* U

. L9 h4 `3 i- K2 c. U
2020042911303468.png
, `! o0 u9 t! |) X& ?5 P8 x

3 v; n2 a% S+ R/ F9 W8 A
20200429113058746.png
1 R9 y& S8 }" N$ T  |; `, v5 K
. u/ m' ^  _( t0 u" z
20200429113120781.png

+ h" A: Q* I) S. m! A, c$ K# S( D
20200429113137737.png

0 M8 I  q( h6 ?2 K+ ~3 B. D' T  K2 b
20200429113200510.png

3 m) A( S! H' Y3 m& \
  K! D8 r9 x3 \- D
5 A& D( Z9 {4 t2 t
3 P$ ?9 E) i8 U1 m
% p! Z) Y  g) @0 M
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

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