OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 使用ST-LINK调试程序

共3条 1/1 1 跳转至

使用ST-LINK调试程序

菜鸟
2021-01-21 11:50:08    评分

ST-LINK是ST意法半导体为评估、开发STM8系列和STM32系列MCU而设计的集在线仿真与下载为一体的开发工具。STM32CubeIDE支持使用ST-LINK进行 SWD 和 SWV 仿真。本文就对相关功能与使用做个说明。

ST-LINK设备说明

ST-LINK设备可以买ST官方的 ST-LINK V2 或者 ST-LINK V3 :

20190806101706775.png

也可以买TB上那种十几块的U盘大小的仿的 ST-LINK V2 产品:

20190806101759734.png

两者使用是各有优缺点的:

  • 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 :共地;20201017171031326.png  屏幕截图 2021-02-08 222012.png

  • 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无法识别

情况描述:ST-LINK能被电脑识别,驱动是好的。但是在keil中的Debug-setting中的SW Device找不到。无论是下载还是调试,都提示“flash download failed target dll has been cancelled”。(注:如果一按setting ST-LINK的指示灯就灭了,请重新升级一下ST-LINK的固件,可以在keil 5安装文件夹下的ST-LINK子文件夹下的ST-LinkUpgrade.exe自动升级)

显示“NO target connected“ 但是驱动没有问题 在设备管理器中显示出有stlink
原因是配置了GPIOA的 14 13这两个口了  

GPIOA_MODER复位后的值为:0x2800 0000,即将GPIO13\14配置为复用模式,但为什么在程序配置了GPIO13\14为输出,并且在目标芯片有复位的情况下也会引起SWD无法仿真、下载的问题。

解决办法:

1、先确认目标板上电。
2、先长按住目标板上的复位键,再点击 Settings,再松开目标板上的复位键。
3、此时KEIL打开Settings的设置对话框,请确认有SWD的内容后,再进行下一步。
4、将目标板断电,重新上电。
5、先长按目标板的复位键,再点击仿真或者下载按钮,再松开复位键。
      注:这里点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时间每次都不同,在某一个点时,就可以进入仿真或者下载程序了。板子就恢复正常了。但需要注意的是,在程序里一定要避开对GPIO13\GPIO14的配置





关键词: 使用     ST-LINK     调试     程序    

高工
2021-04-05 09:05:27    评分
2楼

非常实用的资料,多谢楼主分享!


工程师
2021-04-05 22:36:21    评分
3楼

程序弄的不错哦


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]