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

【经验分享】STM32G0学习手册——使用SWD接口进行调试 (HAL库)

[复制链接]
STMCU小助手 发布时间:2021-11-9 17:00
STM32G0系列提供了SWD接口调试,所以先要熟悉如何调试,接下来才能把代码烧录到芯片里面去。; o) M$ F" B0 z

: t) J6 ]/ S! @  g% x: X" k0 t" P首先我们先新建工程,如果不是官方开发板就点"start My project from MCU",选择对应的芯片型号。我这里选G071C8,进入工程。1 i7 ^' E9 z: C) S
8 h7 r' @3 _3 F$ F% S& B
20200419154927717.png
8 i! ]7 d$ \2 h  b
( J. d8 ~. z' }7 y2 u' A
在"System Core"中,找到"SYS";或者在上方搜索框中输入SYS快速定位。
3 G! x$ i7 r6 X$ s% u在"SYS Mode and Configuration"中,勾√ 上"Serial Wire",就是启用swd调试口,同时你会注意到引脚视图中PA14/PA13变成绿色,显示它的功能。左边GPIO字也会变色,表明GPIO选项里面也有更改配置。
* L8 O" C) ]0 k+ c, `. D
20200419155714752.png

! H' E+ u2 w3 \1 K) o
5 U( a* W6 W2 L/ L6 @7 E" I 点击"Project Manager"—"Project",写上项目名称,项目保存路径,"Application Structure"选择"Basic","Toolchain/IDE"选择"MDK-ARM","V5"(版本根据你安装软件版本来填,在mdk软件-help-about能看到)。
7 _3 O$ H5 n" A. F- U3 J' Y# W% g7 o# C  b+ T  a
20200419160441447.png
6 Y. f1 K0 R! }0 |% j
& |+ b  M, n; n  b% V2 f
Code Generator里按照需求打勾即可, E7 y" N# G/ @9 v5 h
% S$ p1 _0 C+ H- k) b
20200419160655202.png
8 E5 c8 f  f7 z5 b
5 G7 W% R, ^6 {7 U. b$ [& Y
点击"GENERATE CODE",生成代码。在工程代码的"MDK-ARM"目录下,使用MDK软件打开工程文件。
- \0 R& F. [& D. g0 D' O9 V硬件连接:
, S4 L# ~: D7 d0 IST-Link                开发板4 e6 `7 u3 d7 }: _  S4 v4 f+ P
% ]( ]7 j0 N& ]. E
SWDIO ---------- PA14
" D( Y  f3 ?% O- a/ ]  f. W+ r7 @. h* }! {8 O9 C3 Q
SWCLK ---------- PA13
- s" d0 x& H. s2 t) a, f2 M
; g% q4 E3 t/ P8 M  VCC    ----------  VCC! J( ?  d/ S: \6 ]0 G6 @

+ a8 r6 H2 V! E7 _# i9 @ GND    ----------  GND  B# X5 d- Q( r

, H0 Q. X/ e8 `在上一篇文章中给,我们已经装好st-link驱动。直接点击编译。在点击下载烧录。就完成了。因为只是开启一个swd,所以板子不会有任何可见的变化。
; u2 B6 R" W: V8 x! _为什么我这没配置时钟树呢?因为使用了芯片自带HSI。
1 x- K6 f% ~, n/ j3 c. p6 h( D; L
+ P5 x! v5 Y- `. M- l
20200419161832300.png

! ^8 ?6 Q* j: S; J2 H
( ^9 f& V( P/ y+ j1 W9 s没有开启SWD调试,烧录代码会如何?$ U, I* X$ P( t4 j0 a! u
, F2 Z+ c8 u+ Q# e3 L& I
如果我们在写代码时,忘记了开启SWD调试接口,代码已经烧录进去。芯片就会关闭调试接口,第二次烧录时候软件会提示连接不上芯片。按照一下操作重新开启调试接口:
' L5 ^  P  ]5 N* n3 i0 u/ E) N9 E4 E
$ }3 C. W, H' t
20200419163306997.png
# Z. Y+ m% P$ l, v9 f
8 M# w: K% b# F6 p; p& e  Z0 F$ ~
1.在cubemx工程里面添加上调试接口重新生成代码;
$ A0 n2 \; B5 {& C* Z2 L7 [
6 A  @9 ]6 C' Y- q' X2 d2.在MDK软件里重新编译一下;( [% F) d' Y" a3 e" B: m, [9 Y9 b
5 p6 Z6 Y" ?. \* s4 S
3.按住开发板复位键不要松开,点击软件烧录按钮,在放开复位键,代码就能烧录到芯片。重新开启了调试接口。
( I' H/ l1 N7 `" a+ `) j2 U+ @' g4 a: Y- ?
$ z8 }. m! S$ Y# d5 ]: W
. C6 F/ S3 R) h1 s5 ^
收藏 评论0 发布时间:2021-11-9 17:00

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版