一、电路连接
STM32的下载调试接口主要有三种:JTAG、SW和串口(不能调试)。
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为例。
-
选择目标单片机型号;
-
选择调试器型号
-
配置下载器:点击上图中下载器类型右侧的Settings进入下载器的配置页面。
-
设置Target Driver类型
-
方法1:勾选Use Debug Driver复选框
-
手动选择Target Driver类型
[注]这里容易被忽略,如果没有选择对应的下载器类型,下载时(仿真时没有影响)会出现如下错误:
这是因为系统默认的下载器为Jlink,而我们使用的ST-LINK,此前只设置了仿真器的类型。
-