一、電路連接
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,此前只設置了仿真器的類型。
-