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

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

[复制链接]
STMCU小助手 发布时间:2021-11-9 17:00
STM32G0系列提供了SWD接口调试,所以先要熟悉如何调试,接下来才能把代码烧录到芯片里面去。
( D  Q6 z1 _, @3 W+ q* f/ g8 v$ n( B9 h7 W7 l
首先我们先新建工程,如果不是官方开发板就点"start My project from MCU",选择对应的芯片型号。我这里选G071C8,进入工程。. X, H4 l: ~; {' }' X
- c6 u/ g! U7 X0 t0 e
20200419154927717.png

7 I' _1 g2 V. y4 g7 T
. u. _2 L6 X3 \: a+ t% W1 P7 v 在"System Core"中,找到"SYS";或者在上方搜索框中输入SYS快速定位。
  T' ?; O. M! E  D在"SYS Mode and Configuration"中,勾√ 上"Serial Wire",就是启用swd调试口,同时你会注意到引脚视图中PA14/PA13变成绿色,显示它的功能。左边GPIO字也会变色,表明GPIO选项里面也有更改配置。- Q- O% y* t4 Z5 T/ e) N% w7 h
20200419155714752.png

$ [3 e2 ^+ `7 `
% Z- w) R; {, X5 ? 点击"Project Manager"—"Project",写上项目名称,项目保存路径,"Application Structure"选择"Basic","Toolchain/IDE"选择"MDK-ARM","V5"(版本根据你安装软件版本来填,在mdk软件-help-about能看到)。
/ X- u1 k/ }9 O' o9 g& U  ?9 n3 ?1 X; w6 \* C
20200419160441447.png
; \6 x/ S* s( x- d
  [5 q/ H& Q# W8 E( t
Code Generator里按照需求打勾即可/ Y- f9 T; m0 T& \
! }  g$ L# E/ ~- l+ ^& V: [
20200419160655202.png

: E8 z( U) i( ~( ~0 y/ u
8 h1 S8 p6 Z# [点击"GENERATE CODE",生成代码。在工程代码的"MDK-ARM"目录下,使用MDK软件打开工程文件。& K8 Q! j6 Z& _( ]# B1 \: }, j
硬件连接:
  k; h6 O3 _$ N6 C$ C* TST-Link                开发板
/ u' i) t, H6 h( s) I6 A9 a: l8 S$ R/ _
SWDIO ---------- PA14
! t# o: g3 K( A
- @; `7 t0 N2 E& DSWCLK ---------- PA13
4 {5 m1 F# q% ~6 d3 d
8 Y- y2 O: g3 Y  VCC    ----------  VCC' n4 \/ d" X6 ]$ T  c& D4 G

6 l2 G: d6 }8 t# U: s1 I4 h, W% _5 [ GND    ----------  GND% W* V9 ^( j. T( b- @2 Q

) A$ i! d9 E: @! j在上一篇文章中给,我们已经装好st-link驱动。直接点击编译。在点击下载烧录。就完成了。因为只是开启一个swd,所以板子不会有任何可见的变化。
( x) {3 o, E4 L为什么我这没配置时钟树呢?因为使用了芯片自带HSI。
7 Q; y; I1 u- |$ u0 C6 ]# |2 \! A( r2 q2 H" a. i+ G, R
20200419161832300.png
/ h: ?0 t  Z% [. w% l' l: O  z
9 {- v9 j+ Z% g" k% N( Z* K; s
没有开启SWD调试,烧录代码会如何?
9 r+ l6 t4 Z* z* r- `7 G+ H- U  h' w+ N, G
如果我们在写代码时,忘记了开启SWD调试接口,代码已经烧录进去。芯片就会关闭调试接口,第二次烧录时候软件会提示连接不上芯片。按照一下操作重新开启调试接口:: Y3 N3 L  _" b$ \# j7 g

  l$ k- h, p( V6 ]# E& x
20200419163306997.png
  c0 e2 `# M9 e4 C  ^3 n

- X: R! i1 H8 ]3 W& Z" L# u; N1.在cubemx工程里面添加上调试接口重新生成代码;, Z" }3 o' w0 u3 x

$ o1 W' _# B& E2.在MDK软件里重新编译一下;/ Y% Z0 D5 {+ k! k, s8 O
7 e: |$ I: N! K- |+ K( Y
3.按住开发板复位键不要松开,点击软件烧录按钮,在放开复位键,代码就能烧录到芯片。重新开启了调试接口。, B/ n5 k7 k! m# J$ p# }8 G

0 d7 d7 U4 [3 L7 m4 k
: d, j( Q1 q9 b0 c+ Q' X/ U) h7 p( n, J( b2 k, k$ q3 E
赞 收藏 评论0 发布时间:2021-11-9 17:00

举报

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