使用ST-LINK下载STM32程序

一、电路连接

STM32的下载调试接口主要有三种:JTAG、SW和串口(不能调试)。

使用ST-LINK下载STM32程序

JTAG各个管脚信息如下:

序号 信号名 方向 说 明
1 Vref Input 接口电平参考电压,通常可直接接电源
2 Vsupply Input 电源
3 nTRST Output (可选项) JTAG复位。在目标端应加适当的上拉电阻以防止误触发。
4 GND 接地
5 TDI Output Test Data In from Dragon-ICE to target.
6 GND 接地
7 TMS Output Test Mode Select
8 GND 接地
9 TCK Output Test Clock output from Dragon-ICE to the target
10 GND 接地
11 RTCK Input (可选项) Return Test Clock。由目标端反馈给Dragon-ICE的时钟信号,
用来同步TCK信号的产生。不使用时可以直接接地。
12 GND 接地
13 TDO Input Test Data Out from target to Dragon-ICE.
14 GND 接地

15

nSRST

Input/Output
(可选项) System Reset,与目标板上的系统复位信号相连。可以直接对
目标系统复位,同时可以检测目标系统的复位情况。为了防止误触发,
应在目标端加上适当的上拉电阻。
16 GND 接地
17 NC 保留
18 GND 接地
19 NC 保留
20 GND 接地

大多数STM32开发版都提供了JTAG调试接口,但手头只有ST-LINK V2调试器,那么该如何接线呢?

ST-LINK V2接口管脚信息如下:

序号 信号名
1 SWDIO
2 SWCLK
3 GND
4 3.3V
5 5.0V

不同版本的ST-LINK V2接口管脚顺序会有所不同,可按照如下方式连接:

**ST-LINK V2管脚号 ST-LINK V2管脚名 JTAG管脚名 JTAG管脚号
1 SWDIO TMS(SWDIO) 7
2 SWCLK TCLK(SWCLK) 9
3 GND GND 20(任意GND)
4 3.3V Vref(VCC) 1
5 5.0V Vref(VCC) 1

[注]ST-LINK V2的3.3V和5.0V管脚只选取一个,根据目标板的供电电压来决定。如果目标有其他电源供电,Vref(VCC)管脚可不接,避免交叉供电。

软件设置

软件设置以Keil uVision5为例。

  1. 选择目标单片机型号;

    使用ST-LINK下载STM32程序

  2. 选择调试器型号

    使用ST-LINK下载STM32程序

  3. 配置下载器:点击上图中下载器类型右侧的Settings进入下载器的配置页面。

    使用ST-LINK下载STM32程序

    使用ST-LINK下载STM32程序

  4. 设置Target Driver类型

    1. 方法1:勾选Use Debug Driver复选框

      使用ST-LINK下载STM32程序

    2. 手动选择Target Driver类型

      使用ST-LINK下载STM32程序

    [注]这里容易被忽略,如果没有选择对应的下载器类型,下载时(仿真时没有影响)会出现如下错误:

    使用ST-LINK下载STM32程序

    使用ST-LINK下载STM32程序

    这是因为系统默认的下载器为Jlink,而我们使用的ST-LINK,此前只设置了仿真器的类型。