STM32的JTAG与SWD下载调试方式
9 d' c- }) b; g% O6 E, }
" g! ^. I3 J6 V6 Y7 |7 Z1 xSTM32内部固化了JTAG部件,使用20针的标准JTAG接口,使用JTAG仿真器连接即可直接下载并仿真程序。通常,JTAG标准接口有四根信号线,在实际应用中,常用接口数量更少的SWD方式。4 I, P: S3 v: B. M/ s/ _* S3 I
SWD(Serial Wired Data)下载调试方式,是由ARM公司开发的一个测试协议。物理接口与JTAG兼容,但仅使用2根信号线(SWDIO/SWCLK),因此,与JTAG 相比可以大大节约硬件接口的资源,同时,STM32内部固化了SWD部件,被广泛使用。" }8 \ m" K- d4 v$ y; }! S
: _3 W1 u% ]6 X; _; H9 _
- t, ^6 j4 i+ @, c
SWD下载调试方式,使用ST-Link调试器,需要提前在PC上安装对应的驱动。
* j3 s! j% x' F6 m- y8 i3 k: E, D2 { q a
6 E& y: B% B5 u* e* \, ^
1、SWD硬件连接
% y/ Z1 q% R+ k j
9 v$ c! J* W" B/ Q
4 M# S0 _ i/ n! T. q% }5 a通过JTAG接口,用ST-Link仿真器将实验板与PC的USB口相连。/ Y! S- ^1 P& S8 Q
* h; N) Z" q V# i& ^0 i0 }+ q$ b0 O. p
同时,还需要为开发板供电。通常USB转串口模块电路中会提供供电,可通过连接串口线为主控板供电。
6 {5 z- m& Z/ {$ W/ Y1 j, \5 m; \# u/ \, ^* }$ I9 f# G6 k
! N" Q" c/ `$ z芯片端,将调试模式选择为串口线调试,即将PA13/PA14分别配置为SWDIO/SWCLK即可。
% G0 f6 c6 M [' j6 R# t硬件连接成功后,打开keil -> 魔术棒 -> debug,选择使用ST-Link,并点击setting。
* t8 W: T1 Y9 N* _: D$ C可以看到下图的设备,表示设备连接无误。0 W+ Y3 w7 K g: n
2、程序的下载
+ g1 v+ q) f, O8 a' j U$ h8 E" e
" n' ^ q4 J6 C X' ~0 L! B5 m$ d/ e+ i4 I3 D9 t1 v
如下图所示的下载设置“Flash Download”中,勾选复位并运行“Reset and Run”选项。
5 |: U* K6 W4 C! C6 E编译工程成功,点击“下载”按钮,即可完成程序的烧写。1 A4 z3 u9 x! \$ V
下载成功,将显示如下信息。
6 W$ a; X6 h: P( k5 X5 e; t$ \2 z8 v( K2 |
6 C5 [% {: c% R$ E' C2 f! Q
( V% P/ a1 R5 _! I3 X |