STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误

ST-LINK V2

ST-Link是ST意法半导体为评估、开发STM8/STM32系列MCU而设计的集在线仿真与下载为一体的开发工具,支持JTAG/SWD/SWIM三种模式。

  1. 支持所有带SWIM接口的STM8系列单片机
  2. 支持所有带JTAG/SWD接口的STM32系列单片机

我们使用C8T6开发时,往板子里面下载程序,使用ISP串口比较繁琐,开发中不推荐,学生没有仿真器时可以使用ISP。

ST-Link是一款支持STM32/8烧录的工具,有两种烧录接口:JTAG接口和SWD接口,现在工程师们都是使用SWD烧录,古老的JTAG方式已被淘汰。
使用ST-Link首先要安装ST-Link的驱动(通用串行总线设备)
我给大家放在下面了WIN10的驱动。(从官方下载太费事了)
链接:https://pan.baidu.com/s/1uctcwZ0OnaTwgT6UHCAqRQ?pwd=8JLI
提取码:8JLI
安装后我们可以打开电脑设备管理器查看。

在这里插入图片描述
安装完驱动以后就是硬件连接部分,ST-Link和STM32的链接:

ST-Link V2      STM32
SWCLK    ------     SWCLK
SWDIO    ------   SWDIO
GND      ------- GND
3.3V     ------- 3.3V

连接完成基本的四根线就完成了硬件连接部分,ST-Link 的USB接口插入电脑,有提示音代表驱动安装成功。
注意使用ST-Link 也要给单片机供电。
下面软件部分:

打开KEil5配置一下,点击魔术棒
STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误_第1张图片
选择Debug一栏,使用ST-Link Debugger 然后按Settings
STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误_第2张图片
可以看到SW 配置一栏有SWDIO内容,即配置成功。
STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误_第3张图片
点击LOAD按钮或者快捷键F8
STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误_第4张图片
状态栏出现进度条
STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误_第5张图片
Verify OK说明烧写完成。

在我们使用ST-Link烧写时难免会出现一些错误,因为我们硬件以及软件配置错误导致。

下面介绍几种常见的错误:
1.STlink 有无正确安装驱动
2. 芯片是否正常供电
3.芯片有无锁死
当芯片有锁死状况时,我们可以利用ISP串口
下载工具,连接开发板,将芯片清除。
注意使用串口下载要使用STM32从系统存储器启动方式即:BOOT0 引脚置1 ,BOOT1引脚置0,从系统存储器方式启动,下载代码,是利用出厂预置在芯片内部的Bootloader,将代码下载到FLASH中启动。
使用完不要忘记回复BOOT0和1引脚。
STM32使用ST-Link下载器下载正确操作方式以及ST-LINK下载失败“target dll has been cancelled”等错误_第6张图片

4.芯片是不是一直处于复位状态

5.接线对不对

此方式一定要仔细,作者在开发平衡小车时曾被此问题困扰一周,都是因为不细心导致。一切正常使用,突然就不能用了,电脑也能检测到ST-LINK 插入,但在KEil5中,配置SWDIO始终检测不到,过了一周突然发现ST-LINK线插错了。靠!!!

6.硬件和接线都没问题情况下,这时候可能是SWD的引脚被占用了,或者被禁用了。
这时候ST-LINK自然无法通过SWD跟板子通信,所以才会提示No Target connected。
所以,这时候按住reset,再点击download,再松开reset。原理就是在程序运行到SWD引脚占用之前,把新的程序烧录进去,抢个时间差。但是这招不是每次都管用,有概率性失败。
但是不要紧,我们还有第四招
boot0 接高电平download正常程序后,再接回低电平,即可烧录。
此方式 我没成功过,大家可以试试。

不过在使用ST-LINK时很少出错,挺放心的,而且简单。

你可能感兴趣的:(STM32,stm32,嵌入式硬件,单片机)