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

【学习指南】基于STM32G474软件平台安装与使用教程

[复制链接]
攻城狮Melo 发布时间:2024-11-22 12:07
软件平台安装与使用1 ]# w- y0 R4 _: }* c$ X5 T
下面介绍如何使用STM32CubeMX配合keil来编写STM32G474VET6的程序。STM32G4系列其他型号配置过程基本类似。
& b& S- F5 s, z9 }3 s首先下载安装 ST 官网 STM32CubeMX 工具。建议下载都为最新版本。安装过程默认即可,但需要记住安装路径。本教程 keil 使用 V5.38 版本 ARM 5 编译器。6 O( e! }2 Q5 W/ R- v( O

, u3 k5 c* i2 Q( A6 q' ^一、STM32CubeMX 的安装1 j3 ~' F$ n' j7 L# `. ?
从官网下载最新版本的 STM32CubeMX 安装包,根据系统选择。
0 n8 @! {) M5 Q
  }' w9 t! h9 V) a/ y! t

* U. }2 c4 E( p1 |' O& r5 T
微信图片_20241122120721.png
# t, r# d/ v+ L9 @9 r2 K
▲ 图 2.1.1 官网下载安装包
+ v/ e1 E, K; A7 z. W8 ^2 G0 J
# H+ d* \1 m3 C/ c/ r; O3 Z) p
! [7 O# m: E. s. T
1. 软件下载后为 zip 压缩包,解压后得到安装文件;! b0 G' y) Y; w" `0 n. w
2. 点击 Next;

1 O4 x. q& g' A. b
微信图片_20241122120719.png $ h& i& w) O1 ?
# s3 Y) s  c1 L
▲ 图 2.1.2 Cubemx 安装步骤 1
3 g6 |& K! K* `, l+ \% V/ C& U3 y3. 勾选,然后 Next;
/ L( v5 Z( y. s: P! V$ m- ^; _
微信图片_20241122120716.png
2 D( Y& e9 z2 S% k7 g1 n

, h7 R  l5 j* F" F
▲ 图 2.1.3 Cubemx 安装步骤 27 W7 o' C$ b, |
4. 勾选,而后点击 Next;

: U- U0 [- v, u" {4 x
微信图片_20241122120714.png
+ N) L3 Q4 C" \2 H/ L

: @" d9 B! K: `* a
▲ 图 2.1.4 Cubemx 安装步骤 3
% N+ G1 A; j2 y/ v2 f7 X5. 选择合适的安装路径,点击 Next;(若路径未创建,会提示路径将被创建)
# p4 }3 A" g# J4 _" i
微信图片_20241122120712.png
$ p0 U$ [2 Q* e+ f7 v7 t
; A8 v3 b* h2 O  j8 ]% E7 `, I
▲ 图 2.1.5 Cubemx 安装步骤 47 W* @! s& J# v' B6 |5 z  [
6. 根据需求勾选,点击 Next;

/ B- j* F& A. J" M# _+ H
微信图片_20241122120709.png 9 t, E& s$ p2 J4 S9 W6 \1 z& K" ~4 v) Q0 M

9 c( D" Z( f8 W) l: C
▲ 图 2.1.6 Cubemx 安装步骤 54 V# k+ h6 W$ E' Q' D- m/ u; W& s
7. 程序自动安装,安装完成后,点击 Next;
$ a1 g: O+ C6 f9 R1 c. d
微信图片_20241122120707.png / v) Z8 y1 A* U; C
5 V- W: S$ m7 ?. K6 O
▲ 2.1.7 Cubemx 安装步骤 6, g, T! `( O1 ]9 D8 h
8. 提示安装成功和一个卸载程序被创建在安装目录的 Uninstaller 文件夹中,点击Done;
* X8 n/ W! W! H" y$ D& x5 _  _
微信图片_20241122120705.png
( N3 N2 L# j, V1 C

$ O/ E+ |; Q( Z' M8 c
▲ 图 2.1.8 Cubemx 安装步骤 79 f, T  T" R9 L, `0 |" v* t, R

2 F7 ~7 v) b( H6 m. ~
# V( ^0 `9 L8 Y: V) i  q( C: w

. d' R/ I. p/ }% f! _% m1 K二、Keil MDKV5.38 的安装$ i; G/ E8 ]+ K- l! z
1. 从 keil 官网下载 V5.38 版本的 MDK 安装包。

. G. o, T# y, p4 m! I6 |
微信图片_20241122120703.png 4 a0 M9 s: e4 i" w; m- B
7 Q( M3 S6 B! h5 D6 p* H* z
▲ 图 2.2.1 Keil 安装步骤 1

2 n2 \; t8 c/ x# B
微信图片_20241122120700.png 0 |; J1 p- F$ F4 i5 K. Y; A
$ u9 N3 s( k2 ^
▲ 图 2.2.2 Keil 安装步骤 2
( k* d9 s( `4 W+ }* r2. 选择安装路径

/ T" W5 m1 f. b; x/ J
微信图片_20241122120658.png
, t( h% L8 p$ C$ s1 G3 n, B( P

& A5 H0 p3 h1 a2 U/ D
▲ 图 2.2.3 Keil 安装步骤 3# X0 d. y1 i4 ]: B. {6 Y! m1 Z$ h
3. 填写用户信息
% y$ Q4 `! h# K" c( ?9 Q1 L& `
微信图片_20241122120656.png
1 ^% ?, h. x6 p9 c' s$ t. O
  i- ^! `# M  b
▲ 图 2.2.4 Keil 安装步骤 4( V) Q2 A0 s2 O. [0 q7 t. U9 [/ Y
4. 等待安装完成

( J2 S- u3 B. d' j% L6 d( H
微信图片_20241122120651.png
- w; ]2 V+ v/ K1 J  ]0 N9 l
) s8 T, r* g2 E7 o; N
▲ 图 2.2.5 Keil 安装步骤 5) D5 x0 q3 x  O) J, a+ Q1 @
5. 安装结束
5 K  n4 T3 \2 p" K3 n
微信图片_20241122120648.png ) U6 }- \$ f4 M" n$ W/ \- s
6 _* W( a% n8 z* f) u
▲ 图 2.2.6 Keil 安装步骤 6

! v$ j7 z( O# T( w三、安装 G4 的支持包: C' l' x. U3 D
1. 打开支持包管理器。
" g" k& g8 Y* i5 H8 f- q7 K6 m
12.png
' z% b5 @$ A2 h

5 z4 B7 b' y; o$ ^6 j
▲ 图 2.3.1 Keil 支持包安装步骤 1

: p( C$ y# R; ]2. 找到 STM32 系列单片机,找到 STM32G4 系列,找到使用的单片机型号,下载安装支持包。* m& Q+ D* x. E' [. H: o1 q
微信图片_20241122120644.png
2 a9 I4 Z, y5 x! F- @

$ d) Z  l. D1 f8 {/ D5 Y' N7 |. T1 C
▲图 2.3.2 Keil 支持包安装步骤 2
7 @3 @; G' o9 W

1 t  ?, ^" ]; J" Z: F; L四、使用 STM32CubeMX 创建 MDK 工程
) C0 W. M0 L* i, B+ Y: u. ^1 U以建立一个简单的 LED 闪烁工程为例,介绍如何通过 CubeMx 创建一个 Keil 工程。
4 [, E) W$ a, t, M1. 打开 CubeMx,点击 File,选择 New project。
  d% \! ]% X2 y8 @9 ?
微信图片_20241122120641.png 5 q( H8 [* D5 N3 ?# P' B

  n% T, @* q3 s; X; @# U$ F. i
▲ 图 2.4.1 Cubemx 新建工程9 {. @/ ^4 K* @6 n2 g  X* i
2. 通过填写型号寻找单片机,选中具体型号封装双击建立新工程。

/ q" P/ G" A6 ^6 X/ b  f! @3 F3 u
微信图片_20241122120639.png   _0 [- \: e# I3 Z/ h! m' W# W0 M' d
( p/ j( x8 A1 f- i
▲ 图 2.4.2 选择芯片
0 q$ n! l" m2 g' _$ ^  {0 x3. 配置调试方式,此处选择使用 SWD 调试方式。
& Q+ h* _  O& C, ~4 B
微信图片_20241122120636.png
0 T" N. H$ K+ S. w
+ ^; R0 [; x- E) |0 r: o
▲ 图 2.4.3 配置调试方式+ I1 K8 S2 Z: S# z' H6 y! B1 D
4. 配置外部时钟源。此处使用外部高速时钟,使用无源晶振。

- ~  c& y6 @7 r: F6 D) H6 S
微信图片_20241122120633.png 5 v0 Y& c+ Q- ]) P  M: A3 A- \3 `

& [' {; M3 r1 E7 l) [# m
▲ 图 2.4.4 配置时钟源* X+ _: n( h* p. Y1 z, H0 _8 \, U
5. 点击芯片引脚将所需引脚配置为输出模式。
; r) ^! Q0 M; F# v* z$ F' X; I
微信图片_20241122120631.png
* s7 _$ R0 |. D' o5 x& \
! ^: [- E( R& o- Y
▲ 图 2.4.5 配置 IO
  y7 E/ R* G  B0 P6 e* s( z# n+ z6. 配置时钟树。将外部时钟输入作为锁相环输入,配置锁相环参数,将锁相环输出作为系统时钟。
7 T2 L9 s* b( I+ b; t% B
微信图片_20241122120629.png ; F4 s! @0 y3 L8 Z
0 C4 M2 J  O! A0 `5 ~1 l
▲ 图 2.4.6 配置时钟树( k3 K( J) M  O0 d) Y8 v% |
7. 设置工程名称,路径,使用的 IDE 以及 IDE 版本。

1 I4 O& B3 P1 M
微信图片_20241122120627.png 1 n8 E* i; ~6 f* S& h

6 U# ]3 d- q8 W# B* X# y- c9 j
▲ 图 2.4.7 配置工程设置
. n9 V, r5 f3 `3 V8. 设置生成代码库。选择 Copy only the necessary library files。该选项为添加用到的库文件。默认选项会在工程里生成所有的库文件。勾选 Generate periphera initialization as a pair of ‘.c/.h’ files per peripheral。勾选该选项会将每个外设的初始化代码分文件生成,如不勾选会都生成在 main.c 文件中。
# m+ U) |" d9 n9 ?2 K4 I' n
微信图片_20241122120625.png
. f# D+ x+ q# k! w

: X( k" S* W: v) k+ v
▲ 图 2.4.8 配置生成设置

, x" w  e7 j$ i3 Y9 c. Y( G: X
9. 点击 Generate Code 生成工程代码。
, F, q$ b3 V7 ~* v  u
微信图片_20241122120622.png
7 s2 [9 t% t2 T2 u# D

: U9 d' l/ @& D$ g6 o; V+ n" x
▲ 图 2.4.9 生成代码

# `+ Z, ^) X! `% u& R五、使用 Keil 进行程序下载与调试, U' a7 X8 g$ a
编写完成的程序要下载到单片机中运行。ARM 的调试运行需要仿真器,以使用板载的DAP 仿真器为例进行该程序的仿真运行。9 e- P- h7 Y: J  i. ?0 |; ^3 }  d4 ~
首先需要进行仿真设置。点击 Options of Target,调出设置窗口。在 Debug 选项卡下选择使用仿真器,以及所用的仿真器。CubeMx生成的工程默认选择使用仿真器,使用ST-Link,需修改。
0 r2 F( M! E" `$ g
13.png ) ^3 i* }8 [6 X
0 V' q: Z+ e6 A' {- c" L8 N
▲ 图 2.5.1 设置仿真器( @5 u  x! L7 F0 m# p% D0 m1 b
3 b1 d! [# k$ N  B

  f' ~2 j$ o/ q; X" b* u) n: r) R2 m. e3 r选择仿真器后点击 Setting,对仿真器进行具体设置。选择 SW 调试方式。

" R* r% p$ W0 [: W; @5 D' L
微信图片_20241122120618.png : |: _1 u  L$ Z# {; ?/ v

9 l! n) ^' }0 P; D3 F
▲ 图 2.5.2 调整 DAP 调试方式
$ f- N. e/ y; j4 V$ M选择 Flash Download 选项卡,勾选 Reset and Run,下载完成后自动复位运行。检查 Flash大小是否正确,如不正确或者未选择 Flash 需手动添加。
0 q6 N; I% N( |( ?) r; U. w
微信图片_20241122120616.png
9 D* Y+ z" l5 H% S3 N
, c: i4 b* U* L0 a
▲ 图 2.5.3 确认 DAP 的 FALSH " s: q- N# N" L: U& S7 d
选择设置完成且连线正确后点击 Download(F8)下载程序,下载成功后应能成功观测到对应 LED 闪烁。
- H# Z2 ^4 s- R$ I$ v* x
微信图片_20241122120614.png
7 _$ B# H+ i$ H* R. O8 v% m# u6 ^
0 G1 p& _5 w. y: w" \+ u+ S0 B
▲ 图 2.5.4 下载程序
0 L. Z' t4 S+ \% P9 R+ K2 `5 S点击 Start/Stop Debug Session(ctrl+F5)进入调试模式,可对程序进行单步调试,断点调试等操作。在调试模式中再次点击可退出调试模式。

+ L% V( p2 w6 O' n8 r. ~
微信图片_20241122120612.png 5 s9 g  h1 n* E! g9 a5 p: @- f

! A0 d. r; N0 p" [; u
▲ 图 2.5.5 进入调试模式
. o8 ~: ]- Y6 X) E+ c通过调试工具可控制程序的运行,停止,复位。也能够进行单步运行(执行到下一条可执行语句,遇到函数调用会进入),运行到下一个函数(函数调用不进入),运行到跳出当前函数,运行到光标行。

. c8 {2 U$ S; ^. X+ [9 f2 g
微信图片_20241122120610.png ! i: j; |+ A4 ]

8 k9 O4 L* z1 ~  e- a7 [
▲ 图 2.5.6 调试模式基本操作
: n: G& k# H, T9 j  m1 q在代码行号前的灰色区域单击可在此处打断点,程序运行到断点位置处会自动停止。
2 K4 D& i7 N1 b1 S
微信图片_20241122120607.png 3 }/ F/ G: u8 p

! a+ B0 |& A' X* }' N
▲ 图 2.5.7 断点调试# E% J, I2 T2 T
在观察窗口可观测指定的全局变量当前值。通过观察窗输入可添加变量,或者在代码中右键变量会出现将变量添加到观测框的选项卡。

* o  h  d6 |' Q0 m% Z
微信图片_20241122120603.png
0 i( G/ D0 F7 F9 v2 l" d

+ D) H0 \8 M2 Y6 S2 `, Y
▲ 图 2.5.8 变量观察窗% W5 G' U  X* P+ |# M2 h
通过右键加入:

, v" v4 x! R3 \& x5 F+ S. F- Q
微信图片_20241122120554.png $ b" ?- V# m; U& O  G# L; c6 U
8 S/ Y7 m: K0 ~. {
▲ 图 2.5.9 添加观察变量
+ X# B& a: f" H& N3 K4 G
如有侵权请联系删除) T% g# S& y) D; ~5 g" Y2 z

2 B5 M# y7 G  k4 T/ T
转载自:AI电堂
2 I9 ]8 o/ Y7 X" D9 S- g) D
/ C& _: u: n; h7 i

- L, {3 U& k8 @

3 B# U6 c( n5 W! b
赞 收藏 1 评论0 发布时间:2024-11-22 12:07

举报

0个回答

所属标签

相似技术帖

官网相关资源

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