keil提示用STLINK下载程序提示Error: Flash Download failed - Target DLL has been cancelled的一种情况

keil版本为:V5.25.30.0
下载器为ST-LINK
1.如下图,keil提示Error: Flash Download failed - Target DLL has been cancelled
在这里插入图片描述
2.原因是如下图中的ST-LINK的TVCC没有接到电路板的3.3V
在这里插入图片描述
如下图,当黄色线接上就可以正常下载,如果黄色线不接到STLINK,就会出现Target DLL has been cancelled的错误。
在这里插入图片描述
3.再探讨下STLINK的VDD和TVCC的区别。
如下图TVCC是1.2脚,当STLINK插上USB时,TVCC没有3.3V输出
VDD是19脚,当STLINK插上USB时,VDD有3.3V输出
在这里插入图片描述
当采用SW模式下载程序的时候:
TVCC必须要接到3.3V才能下载成功,否则就会报错Error: Flash Download failed - Target DLL has been cancelled
VDD不用接

那么能不能将VDD接到TVCC,从而给单片机上电呢,我试了下,理论上是可行的,但一般不这么做,因为这个3.3V驱动能力不强。
我用正点原子战舰的板子测试,当VDD接到TVCC,那么VDD和TVCC都会被拉到2V左右,keil也可以成功下载代码,如下图,VDD通过白线给单片机3.3V的电压,然后通过黄线给到TVCC。但是LED并不会被点亮,个人觉得是电压太低。
在这里插入图片描述

翻看STM32的手册可以看到STM32的工作电压是2V-3.6V,所以VDD和TVCC都是两点几V也是可以让STM32程序下载成功的。
在这里插入图片描述
综上所述:
1.TVCC本身是没有电压的,下载程序的时候需要连接到电路板的3.3V。
2.VDD可以给单片机供电,从而下载程序。同时如果电路板上以及单独供电了,VDD就不要连接到开发板上了,避免两个3.3V产生冲突。所以用一个词来形容,可以用但没必要。VDD这个脚就当它不存在就行了,不要去使用。
PS:附上标准的JTAG接口,可以看到19脚是不接的,至于为什么STLINK要将19脚作为VDD给3.3V输出,我没太理解。
在这里插入图片描述

版权声明:本文为CSDN博主「隔壁家的王小琪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wsq_666/article/details/121199647

生成海报
点赞 0

隔壁家的王小琪

我还没有学会写个人说明!

暂无评论

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

CC2530 常用寄存器

一、端口初始化相关寄存器 代码示例:用按键1和按键2分别控制D4和D6灯 点我跳转 二、INT相关寄存器 代码示例:利用key1,key2来产生中断控制D3,D5灯,key1,key2为下降沿触