ST-Link之No Target Connected问题解决

一、背景:

最近准备做个平衡车练练手(自己着实有些菜)。起初画板子的参考的别的原理图。好些地方没有特别注意。板子回来自己调试的时候遇到问题了。

二、 问题:

要驱动两个电机的编码器。编码器驱动只能使用定时器(通用定时器与高级定时器都具有编码器接口功能,而基本定时器6 7不具有此功能)的通道1和通道2。然而我画板子的时候,起重一个电机编码器接口接到了PB0 PB1(MCU STM32F103C8T6)引脚上,这两个引脚对应的是定时器3的通道3跟通道4.那显然不可以了。于是乎割线、跳线了呗。看了看只能跳到PB6与PB7引脚上了。但是这两个引脚被我用来接MPU6050(姿态传感器)了。其实我用的是模拟IIC,并没有用他的IIC接口。那我就跳线呗。跳线成功了,感觉也没有什么问题。然后下载程序。准备检查下姿态传感器的数据对不对,结果,不对,数据不动,就检查问题。检查程序,发现我的引脚配置除了问题。MPU6050的SDA线配置的不对。重新修改了一下。但是死活下载不进去程序了哎。新问题来了(ST-link连接不上了,出现No Target Connected)!针对新问题进行解决。
在这里插入图片描述

找方法找答案:各种度娘,各种CSDN博客。
原因:说是PA13与PA14两个端口可能软件中配置了,配置成输入或输出了。这个端口是双向端口,被配置就不能下载了。
解决:检测原理图与板子的跳线图。PA13 与PA14我没用到,软件中也没修改到这一部分哎。那就照着网上的方法先试试看呗。
看到了解决方法有这几种:
(1)把自己安装的keil5软件中的USBDriver文件夹下的驱动卸载掉重新更新一下。
在这里插入图片描述
(2)BOOT0引脚接到高电平重新上电就可以下载了。
(3)利用ST-link utility擦除芯片就可以重新下载。
(4)等等……
然而我傻不拉几的选择了第一种方法试试看,然而出现了新的问题:failure loading STLinkUSBDriver.dll 如下图。
在这里插入图片描述
那我又就尝试下第三种方法,结果死活连接不上,要么就是软件无响应。
在这里插入图片描述
又一通找解决方法:更改圈出来的里边的各种配置还是不行,又更新ST-link Firmwave,还是没用,折腾的快要死了都。。。
在这里插入图片描述
接下来就是把BOOT0引脚接VCC,然后试试看—可以了(用的是ST-link utility下载的)。然后又BOOT0 10K拉低。这下就准备到keil中去,毕竟修改程序调试方便。然后又下载不了了。
就是这个问题
failure loading STLinkUSBDriver.dll****还检测不到ST-link V2。。Unit 部分的显示框是空白。。

在这里插入图片描述
正常应该是下图:
在这里插入图片描述

解决方法:
(1)更新下ST-link 驱动。我试的,我的问题还在,没解决
(2)卸载keil,重新安装,终于解决了。能检测到ST-Link/V2 了。但是还是No Target Connected

这下没有急着去看怎么解决,就冷静的思考了。检测硬件部分了。
找到问题了:我用到PA12引脚了,然而芯片不知道什么时候有些连锡。12引脚与13引脚短路了。。。。大写的尴尬。。。。烙铁烫一烫。OK。。可以正常下载程序了。。。

这次的问题出现:(之前从来没遇到过)。让我认真的注意了一下BOOT0 BOOT1这一块,关于启动等等。之前可能大而化之吧,也是学不好的原因吧。
在这里插入图片描述
理解:一般我们的程序都是下载到主闪存存储器中,程序启动也是在这里。

以下三种分析是博友文章:stm32 boot0 boot1的启动方式的描述。我摘抄过来的,可以看全文。

(1) Main Flash memory (flash启动) 是STM32内置的flash,一般我们使用JTAG或者SWD模式下载时,就是下载到这里面,启动后也直接从这启动程序。
(2)System memory 从系统存储启动,这种模式启动的程序功能是有厂家设,一般很少使用,一般来说STM32在出厂是内置了一段bootloader,也就是我们常说的ISP程序,这是一块ROM,出厂后无法修改, 这种启动模式,是为了从串口下载程序,因为厂家提供BootLoader中,可以通过bootloader将程序下载到系统Flash中。
(3)Embedded Memory 内置SRAM,既然是SRAM,自然就没有程序存储的能力,这个模式一般用于程序调试 例如我们修改了代码一个小小地方,然后需要拆除整个flash,比较费时 可以考虑这种启动方式。
在使用STM32进行固件开发时,如果遇到ST-LINK Utility提示‘no target connected’或‘unknown target connected’错误,首先需要检查硬件连接是否正确,确认ST-Link和目标MCU之间的SWD接口连接无误。然后,打开ST-LINK Utility工具,尝试使用其“Target”菜单下的“Connect”功能重新连接目标设备。如果连接仍然失败,建议使用工具的“Erase Chip”功能进行芯片的强制擦除,以便清除可能存在的旧程序或配置。 参考资源链接:[解决STM32 ST-LINK Utility下载报错:no target connected和unknown target connected](https://wenku.csdn.net/doc/6401acf4cce7214c316edc17?spm=1055.2569.3001.10343) 在解决no target connected”错误后,若遇到“unknown target connected”错误,需要检查是否是因为调试模式设置正确。STM32支持同的调试接口,包括SWD和JTAG。如果前一次下载使用的是JTAG模式,而这次尝试使用的是SWD模式,就可能出现此错误。此时应确保在调试设置中选择正确的接口模式,并尝试重新连接目标设备。 此外,在使用HAL库编程时,如果遇到编程错误,可能需要检查外部中断配置是否正确。外部中断的配置错误可能导致程序无法正确响应外部事件,这可以通过核对STM32固件库中的相关配置函数和参数来解决。 总之,通过检查和正确设置硬件连接、调试模式以及固件库中的相关配置,可以有效解决这类常见的下载和调试错误。更深入地了解STM32的编程和调试技术,对于提升开发效率和解决复杂问题是至关重要的。如果需要更全面地了解STM32的编程和调试技术,推荐参考《解决STM32 ST-LINK Utility下载报错:no target connected和unknown target connected》这份资料。 参考资源链接:[解决STM32 ST-LINK Utility下载报错:no target connected和unknown target connected](https://wenku.csdn.net/doc/6401acf4cce7214c316edc17?spm=1055.2569.3001.10343)
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值