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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
8 b' F2 T7 j9 f       1.1、Keil版本支持STM32  G系列
$ p4 x8 U" a- z0 g/ Y8 C  y2 }' _# \$ C* U
20200429115157997.png
9 o# K! t! y) k0 P6 e: o
- _- @# [: p7 _% ~9 u5 C/ B! e% O
     1.2   Keil下找到G系列文件并下载安装
4 T" w9 ]" S+ l/ l9 d: z! R9 S' H  `' q: o- W
20200429115557162.png

5 c3 U; W# K* L* h/ h1 o
& b# q- L& w. G# Q8 U; @8 |+ F
20200429115708530.png
$ q4 ?$ |5 U1 j6 }: D

& V8 }! b  [; \+ O* H; Y" r) k     1.3  安装成功
+ x( `: p# @, J) s! V) u. k- P' s3 I2 _$ v- Y. J% J8 Y( A' Q
20200429125318914.png
# q& F0 \& a) ~) k

, f" r, v; r0 ?# X! Y
20200429125503306.png

1 g* x/ D; W; ?6 g7 j; R" ~* h$ y# }( Y5 S) a
        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
0 A" N6 p$ t# @$ B/ }
0 }; G+ O% |8 B% u
20200506142417629.png

7 s# t; _7 Q3 y) x0 b5 U3 [$ G1 l
二、移植
; b' G& p' Q* ?9 ?7 ~     2.1  安装STM32CubeMX,目前ST官方主推。; e" }/ [2 h$ y% }' r2 S9 J  `
6 r3 i9 Q* E& C; Q8 Q
20200506172016978.png

5 [& Q; H. n0 v, T/ d* o' m$ @' l3 f9 _2 g2 M% n
       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)* d0 _* Z- z2 v6 f9 L" f. H5 Y0 c0 _$ S

( a; ]1 |! ]# i* V! c. a7 g
20200429203723180.png
9 n3 a( a8 {) E2 l, L; |

3 G% \0 Q5 y9 \  s        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。+ j. g5 V- R! r, M' {
; Y1 H2 I7 W/ X
         我这里是添加本地packages,即通过3.2已经有下载了hal库。. Y$ A" P" s- l
% ^4 \5 ^: a  g! N7 ^

+ k" i% L7 K$ {' s( }; ~
20200506172459425.png

& E# C6 J8 a  B: I) z# i  x4 u, B8 _9 x, M

4 C; V" Y* e! t4 U" r        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。. ?+ S. |! i! g$ j  p9 B* p; L
( {2 _6 c' L. T. ]3 |( o- |
20200506195024589.png
  C  k- Y6 _  h$ N

4 A, E1 k( G8 b1 }9 Y* R( S        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg+ H2 m2 J0 B( u

, I, P. k* O4 }% t& X# `/ b1 n/ n         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。
. U% d% f& g$ O  H, I3 c% }0 {/ J% m0 |* F/ y0 X
         SYS Timebase选择Tim1% q  i6 S5 r! O  g! L7 O

  E0 K" ^% I! o4 @) D6 ]! Y- M; s
20200506195646509.png
( r7 J7 o8 Z" A7 }8 X
$ M( B& w3 A/ l, M  Z
) s- `0 s4 x3 c; K$ f2 h9 k
20200506195858560.png
+ O: G! X/ f  ^* D- c
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
2 c, D4 G1 S  `7 A# E: _4 R7 g' }* b: A9 {
20200506200224221.png
1 z( e/ N+ v( F: Y7 r; Q1 c
; X7 r0 P" [5 ]# L4 M
20200506200238995.png
- c$ G5 ]9 I+ U, c3 n7 U
  ~8 x  l' y* W+ K5 j% d- Q/ @
          点击生成:
5 d3 T/ D! V& x  D
2 L( X) Y  ]7 {9 m; [
20200506200307740.png
9 o' f( n+ q( C& O7 H# v! G
6 e6 N/ z  t- m5 U& b0 I
        2.7 打开MDK工程,编译。- m/ c5 Q7 t, m0 }1 Z" C5 A

: P1 C/ T! e! Q9 \0 C# i" U$ h; [7 m' G
20200506200436528.png
8 D4 P- J. T0 L3 [* l. w7 V) f
( p- y( o0 V0 ^( d9 c" Q
三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)
0 H/ C" Q& |! N$ T! Z5 k+ E9 }! v          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
$ ?; B5 V3 G1 j$ _! }. b7 H" A- V- `6 P
20200429112256841.png
# f" B! l+ q  J7 X
3 D" ~8 k" S; u5 [% ~! k0 {9 C8 S
- |3 p8 h% d- w3 A5 p
# j% @) z0 M. {& R/ O  k, l
           2、GIthub下载旧版本 (无需登录,游客下载)
7 _1 U0 ^/ q) Y/ |( R
7 S0 W% ~% g. f; a
2020042911303468.png
$ p/ x- n' g: e

- r% {. H5 Q: ]3 m6 |
20200429113058746.png

" H  G2 r- T2 O  O7 g5 Z" L3 A$ m2 X+ J
20200429113120781.png

; f+ O+ n( ?' f6 N8 a
5 r+ o2 h. O/ T5 }$ b; E" y+ k: M
20200429113137737.png
& ?! Z/ k) r( O% D! x/ h& U* A

* r" X; R1 j! T; N% D
20200429113200510.png
- k/ W* S% D8 |7 K

/ ?3 k# u# x* z0 d6 s7 [9 g" p; r8 d# B+ Z8 S/ w* s& q& W; u
1 c1 F3 O( d9 t' f3 u2 Y6 z
. d  T9 _! k1 P( q2 y7 `
收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版