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

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

[复制链接]
STMCU小助手 发布时间:2021-11-9 17:00
STM32G0系列提供了SWD接口调试,所以先要熟悉如何调试,接下来才能把代码烧录到芯片里面去。
0 ]* k& v+ ^' U  [& x- P
( B/ q/ L  N, O, x: m$ D9 f首先我们先新建工程,如果不是官方开发板就点"start My project from MCU",选择对应的芯片型号。我这里选G071C8,进入工程。- {* `% B% D' v

$ D. B* m5 \& X9 {" I$ y- @
20200419154927717.png
6 O4 l9 t4 @2 e! d1 S) R% T

  d+ }; b& R& C4 k( N 在"System Core"中,找到"SYS";或者在上方搜索框中输入SYS快速定位。
! n- s. `4 M: i4 t8 A9 s3 I在"SYS Mode and Configuration"中,勾√ 上"Serial Wire",就是启用swd调试口,同时你会注意到引脚视图中PA14/PA13变成绿色,显示它的功能。左边GPIO字也会变色,表明GPIO选项里面也有更改配置。
' O, n. x# d4 r0 F: p, z6 B
20200419155714752.png

0 E/ W8 D- n0 v+ O. [3 R* e4 \. Y! S8 H. U3 d
点击"Project Manager"—"Project",写上项目名称,项目保存路径,"Application Structure"选择"Basic","Toolchain/IDE"选择"MDK-ARM","V5"(版本根据你安装软件版本来填,在mdk软件-help-about能看到)。
) {& y2 \3 m" x6 M; a5 ^& o
$ L+ R! f/ L- L; T, k) s
20200419160441447.png
% V# A  {, e- L: Q. W: u2 k
# c, W0 S; J. U  _0 `+ U) l* @
Code Generator里按照需求打勾即可
4 `  y$ z3 G2 K  j/ O7 G: s2 _  }0 g8 w
20200419160655202.png

; U3 w5 ^* d+ l' U# J  P0 X& O9 y0 a% V" x$ f
点击"GENERATE CODE",生成代码。在工程代码的"MDK-ARM"目录下,使用MDK软件打开工程文件。
, p# U- y" D% U9 O- O( u硬件连接:
5 B$ [- t% o7 w. DST-Link                开发板
9 j2 f. i2 b0 D; P7 m. Y3 R+ z  l5 N2 U" w
SWDIO ---------- PA14+ l$ g6 r, G1 L2 I7 `/ H6 w7 U

( w3 K# c7 x/ h+ u1 GSWCLK ---------- PA13  p/ g% }* R0 A2 }$ Q/ h+ `, z

* v$ k6 c7 }" ]' ~8 N  K5 }  VCC    ----------  VCC
6 ?, N+ Z2 m$ P; S! [! r0 ?# |/ f
GND    ----------  GND7 X5 d$ {% Z/ K( j- b9 S4 c

6 J) C% G+ k$ V4 @/ \6 J1 S在上一篇文章中给,我们已经装好st-link驱动。直接点击编译。在点击下载烧录。就完成了。因为只是开启一个swd,所以板子不会有任何可见的变化。0 j- v! E& f9 g* P1 `
为什么我这没配置时钟树呢?因为使用了芯片自带HSI。
( w7 N7 v+ B; A$ o
6 b: K$ t0 ]/ A1 D) P
20200419161832300.png

& e$ [( L1 B$ R& R: K+ Y& T- R0 O- c/ e. C1 e" {7 y3 r9 V
没有开启SWD调试,烧录代码会如何?* p! r) D3 c! h1 S
* H' Q) v- W# O; B6 e" a
如果我们在写代码时,忘记了开启SWD调试接口,代码已经烧录进去。芯片就会关闭调试接口,第二次烧录时候软件会提示连接不上芯片。按照一下操作重新开启调试接口:
% ?5 X$ Z/ R9 Z2 ^5 k2 V- H& B
, t( ]. C" @6 f$ g5 H& ^2 N* F4 C
20200419163306997.png

0 y& O+ }! c% [' J3 K) b" y  }5 U
8 A1 ?# [' l* ~! D+ Z1.在cubemx工程里面添加上调试接口重新生成代码;
5 d: R4 i4 c2 L+ l* u
8 K1 L9 U3 A' x7 h* i2.在MDK软件里重新编译一下;9 S4 e+ t' V# G+ k
% P: p7 f3 C( O% n8 h+ B
3.按住开发板复位键不要松开,点击软件烧录按钮,在放开复位键,代码就能烧录到芯片。重新开启了调试接口。
3 ]. W6 k" f1 i+ j( X: b/ ^, E
: T5 j9 d3 G4 T# E* v
# x1 G" V. ]" m2 h& u
: u! @; W: p4 x, F9 ^+ [  ]) L8 j
收藏 评论0 发布时间:2021-11-9 17:00

举报

0个回答

所属标签

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