系列文章目录
STM32单片机系列专栏
C语言术语和结构总结专栏
1. ST-LINK V2
ST LINK v2下载器用于STM32单片机,可以下载程序、调试程序、读取芯片数据,解除芯片读写保护等等,辅助软件用的是STM32 ST-LINK Utility。
STM32 ST-LINK Utility
这个软件工具是配套“ST-LINK” 工具一起使用的上位机软件,用于烧写代码。因此使用STM32 ST-LINK Utility上位机软件需要链接ST-LINK。Utility可以在产品开发过程中测试一些其他版本的代码,可以直接下载hex,而不用打开工程再编译去下载。 例如开发完一个STM32产品,需要量产的时候,就可以用这个工具直接下载hex代码或者.bin文件,对代码加密。
一个关键的点:STM32 ST-LINK Utility包含ST-Link驱动。也就是说如果安装了STM32 ST-LINK Utility软件,ST-Link就不用单独安装驱动了,可以在Keil中直接使用。
Utility集成开发环境的安装比较简单(基本上就是一路点击确定,除了安装地址修改一下,其他的默认就可以)
ST官方网站下载链接:
官网下载链接
2. 操作步骤
2.1 连接方式
ST-link/v2与stm32f103c8t6的连接对应引脚相连接即可。
STLINK上面有标注10个引脚。,但是实际只需要连接4根线,GND和VCC是需要连接的。
ST-link V2调试下载器 | 单片机硬件电路 |
---|---|
3V3 | VCC(3.3v) |
SWDIO | SWDIO |
SWCLK | SWCLK |
GND | GND |
2.2 驱动安装常规步骤
电脑usb接口接上仿真器ST-LINK/V2,查看设备管理器,点开通用串行设备,若连接正常,则会出现STM32 STLink。如果没有,说明这个电脑一直没有安装过这个驱动。
下面的链接可以找到ST-LINK驱动文件,双击dpinst_amd64.exe可执行文件,这个要根据自己电脑系统位数来选择的。安装过程一路点击确定就可以了,不需要改变。
单片机调试和下载工具软件
2.3 Keil中的设置
接线完成后,并且在设备管理器中也显示了STM32 STLink(如果下面有黄色感叹号,说明没有成功,拔掉st-link,然后重新连上电脑),之后打开KEIL,点击魔术棒,然后点击Debug,选择ST-Link Debugger仿真器。
接着点击Settings,这里如果可以看到如下图所示的内容,右边可以看见我们的设备,就代表识别成功了,注意下面要选择SW。
接着不要关闭页面,点击Flash Download。如下图所示,Reset and run可选可不选,不选时下载完程序要按复位键程序才会运行,如果勾选了程序下载完成后会自动运行。
在Programming Algorithm 窗口检查是否选择芯片相应flash烧写算法。这里是F103C8T6,容量是128k的,所以选择128k的烧写算法。
如果选择的不对,要将原来的文件删除掉,重新添加文件。点击默认芯片,然后点击Remove。
删除掉原文件后,再点Add按钮添加新文件。在打开的对话框中选择第一个文件 128K大小,点Add按钮,添加新文件。这时flash文件大小就变成128k了,最后点确定按钮。
如果打开窗口时看到这个Programming Algorithm 窗口没有可选择的芯片,要检查看看是否已安装芯片所需的PACK包 Keil.STM32F1xx_DFP.2.2.0.pack。
如果使用的是别人的项目,需要更改单片机型号,可以看一下下面的文章:
使用Keil移植工程时修改单片机型号参数
3. 调式仿真
还是先点击魔术棒,点击Debug,这里要注意,左边的Use Simulator 是在线仿真,不需要连接ST-Link 和STM32,图片中勾选的就是在线仿真。如果想使用实物ST-Link进行调试,勾选右边的Use。
接着点击Debug按钮进入debug模式(Ctrl + F5)
接着就会加入调试仿真界面
4. 常见问题排查
1. 提示No target detected 或者下面的错误
大概率是型号选择错误或者没有设置好,按照上面的步骤再检查一遍
2. 如果提示的是No target connected,那么原因就是板子没有独立供电导致的。
3. 如果提示ST-LINK USB communication error,说明需要升级一下固件。