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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 20:00
一、移植到STM32G473RC准备工作
( Q5 |1 c; ?. }' r6 k) u  `       1.1、Keil版本支持STM32  G系列
, b' O8 z3 B5 p0 z# q$ |7 g- ]8 o4 t0 a# j& l5 H+ K
20200429115157997.png
! Z2 u  @: `3 n" c5 y" d
2 a: e0 ]5 L4 R/ k" w
     1.2   Keil下找到G系列文件并下载安装2 ?3 {3 A  m4 m) l* f+ O

; U  s( ?/ c* R# I. A: M( r
20200429115557162.png
5 z  r- j, B' W/ ^% l

" ?. H* R8 P/ U8 G' V
20200429115708530.png

" \* l  F" q# ?' ?% s
6 @0 h5 F+ r0 h8 ?1 O2 ]" M- Z3 j     1.3  安装成功) l+ G# k" @( y# a
! ^+ o/ Z8 H' e5 v
20200429125318914.png

/ w% y7 U$ @# z0 M5 h& R
8 L. w( j( A; g
20200429125503306.png
# t( H2 s# w( Z/ [/ w
0 b- Q: B$ J# f3 [$ }8 u' k
        1.4  Keil版本过低,不支持新的DFP包造成的错误。(重新安装新版本即可,我尝试了MDK529.exe)
( k( _- a/ M5 t; x4 T; W( h
7 U! s7 Z9 m) J  s/ {
20200506142417629.png
" |: g( X9 F/ G5 m

; j8 S2 N* k, c% A+ r% L二、移植
/ I1 j8 n7 i7 K% D$ K. I     2.1  安装STM32CubeMX,目前ST官方主推。
$ d% N; K  Y/ _3 a5 ?. c  x4 \% I5 ]! ~9 S6 |
20200506172016978.png
3 C9 y8 O1 K/ O, O6 G# p0 v4 l

8 L9 X6 X. @7 |9 I+ O       2.2  官方下载库文件(STM32G系列不再有std库,只有hal库)$ d! f" J8 q7 M5 _
! ?* x( Z- |/ @5 j6 P/ o4 [
20200429203723180.png

# T4 p! E8 @& K1 U/ N$ c3 O0 }4 A7 y* J' W8 S4 |3 F& o
        2.3  导入库文件,打开STM32CubeMX,点击Help -> Manage embedded software packages 。
( J3 D$ i9 Y# o4 X0 h1 o  p: T, r4 @
         我这里是添加本地packages,即通过3.2已经有下载了hal库。
, R& I3 ~) a; ^% t
0 W8 {, m4 G/ b4 U2 B' [
! ?: u* K" ^; [" v- T
20200506172459425.png

9 V0 O% a/ R8 a- B( P" I& c  C! L( V9 b8 p3 y' K+ Q
, P, p9 u; ~1 p) a
        2.4  选择IC,然后在Middleware下选择FREERTOS,版本10.2.1,接口选择CMSIS_V2(V2与V1的区别可以参考百度其他文档)。+ O" I% d; u5 r% i7 f! k
% ~& ^% Q3 T( p/ ^( j# q
20200506195024589.png
3 e6 Q9 B  j0 Q: `% k

) v7 c$ \2 z- Y! U6 s        2.5 SYS下的Timebase Source选择TIMI1,否则生成code是会有警告提示,与FreeRTOSg+ L  E, y1 @' w% `9 X2 G. S
* w1 E" L( V3 r4 K+ T
         HAL使用的是systick作为时钟源,现在使用了rtos,不建议hal库和rtos一起使用systick作为时钟源,否则会有冲突。
0 A/ T7 |1 Z- X$ {
/ v# K8 m+ v! n! a         SYS Timebase选择Tim1
: q, M/ z2 Q1 l5 O
' o& I- Q3 l( J
20200506195646509.png
- Z. b3 G8 `6 F' E& O1 M
/ ?9 i5 U# O- F* D' ~' r- u

# _+ y% g3 M3 v9 u5 w3 ~5 Q
20200506195858560.png
( U- F* }) g. u( v
        2.6 选择MDK-ARM,   点击GENERATE CODE,生成工程。
! W# z  Y& U$ U+ @2 f+ J4 \2 k8 }" R( C
20200506200224221.png

3 P. i, H2 _9 t8 a8 C6 I
% V5 v% s0 A6 ]: Y8 p
20200506200238995.png

8 I4 J" `" @) t3 R
, z( l8 E8 K; L9 V0 i          点击生成:; L$ R9 @; A4 T9 W, B

9 F2 f: z5 e2 Y! {
20200506200307740.png

! [* i" T) F" l! g. S) a, c" [8 g6 S
        2.7 打开MDK工程,编译。; S; [- D" \( O6 `  E, S4 E

/ }% h( l8 R$ _  n' X( r: q
20200506200436528.png
! A7 ?  ]5 s7 J3 b4 G) e- N

1 J/ j! F+ o% k% n" k0 o" v# v1 |三、源码下载(不使用STM32CubeMX移植的需要自行下载源码)' N. T9 w  C" P
          1、虽然FreeRTOS官方最新版本为 FreeRTOSv10.3.1.zip, 但手头项目还是决定基于V9.0开始。目前官方下载路径已经迁移的Githu
* N" B% U, \4 D4 U: g; d& S$ Q8 [2 [* _6 i! Y
20200429112256841.png
4 y. Q- Q/ z" K6 I. f& D

" O: o8 Y# Y4 y* S% S. Q: F: n$ \! u6 J3 h# F' D% d+ p  T
2 v) d: o/ C& c4 s
           2、GIthub下载旧版本 (无需登录,游客下载)/ L, T, }5 L) ~
3 W) ^+ c) u' W" H
2020042911303468.png

/ M3 F/ N! a" b* X# R
' N- n& A7 W% c* Y
20200429113058746.png
7 y( D4 r% [7 m- y1 M3 \% B# L

7 \& Y' X) |# e2 Z8 w
20200429113120781.png

% }4 j: s, _- e8 A: b0 {6 S& ~. [3 l- B# r9 R1 ~+ s$ z. Z
20200429113137737.png
6 \. c. D. i- c4 A

0 j# k7 O! P' V' y
20200429113200510.png

0 c9 C. v6 I9 h! d
! `0 h) ?1 _$ h. w2 D# e
) N! f, L, l, q& X# G9 Z* ^& ^' e& a. O; ]
' u6 c0 N9 _; o1 M- y( c3 `
赞 收藏 评论0 发布时间:2021-12-8 20:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版