ST-LINK是ST意法半导体为评估、开发STM8系列和STM32系列MCU而设计的集在线仿真与下载为一体的开发工具。STM32CubeIDE支持使用ST-LINK进行 SWD 和 SWV 仿真。本文就对相关功能与使用做个说明。
ST-LINK设备可以买ST官方的 ST-LINK V2 或者 ST-LINK V3 :
也可以买TB上那种十几块的U盘大小的仿的 ST-LINK V2 产品:
两者使用是各有优缺点的:
ST官方的接口齐全,可以支持SW和SWV方式调试(还有JTAG,没前面两个好用),但是官方的ST-LINK不支持向STM32开发板供电,也就是你还得单独给开发板供电;
TB上那种便宜的对STM32来说几乎都是只支持SW方式调试的,不支持SWV方式(SWV方式开发者可以向IDE输出调试信息,调试起来更加方便),但是这类模块几乎都可以直接为STM32开发板供电
引脚连接
本文使用ST-LINK调试主要用到下面几个引脚:
SWCLK :通常连接STM32-PA14引脚,也被标记为JTCK;
SWDIO :通常连接STM32-PA13引脚,也被标记为JTMS;
SWO :通常连接STM32-PB3引脚,也被标记为JTDO;
GND :共地;
T_VCC :官方ST-LINK特有,需要将MCU的电源连接至该引脚,例如MCU 3.3V供电,则需要将该3.3V电源连接至 T_VCC ;
SWD调试时需要连接: SWCLK 、 SWDIO 、 GND 、 T_VCC(如果有) ;
SWV调试时需要连接: SWCLK 、 SWDIO 、 SWO 、 GND 、 T_VCC(如果有) ;
原来在烧写了一个hex文件之后ST-LINK就连接不上STM32 ST-LINK Utility了,出现的错误提示是这样子的! Can not connect to target!
Please select "Connect Under Reset" mode from Target->Settings menu and try again.
If you're trying to connect to a low frequency application , please select a lower SWD Frequency mode from Target->Settings menu.
以下代码放在主程序最开始部分
//GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
ST-LINK无法识别