解决ST-LINK无法连接设备(解决不了你顺着网线来打我)

2023-05-16

问题分析

问题描述

在mdk中,点击下载按钮提示找不到目标设备,无法自动下载程序。

原因猜想

单片机只有在停止状态下才可以下载程序?

猜想验证

如果让单片机处在停止状态,是不是就能正常下载了呢?
为了验证这个想法,我在mdk中设置连接方式为:under reset,如下图:
连接模式
点击确定保存。

然后按下STM32的复位按钮不松(此时单片机处于停止状态),点击下载按钮后,马上松开复位按钮,发现程序下载成功。由此可知,stm32在停止状态下可以下载程序,那么:stlink无法自动下载的原因就是它不能使单片机处在停止状态。

不按复位也下载成功过

有的人说他明明不按复位也下载成功过,但是后来什么都没动,再下载就不行了。

这种情况是因为他下载成功的那次stm32里是空白的,没有程序在里面所以它一直处于停止状态,当他下载过一次程序后,stm32处于运行状态,就无法自动下载了。

解决方案

下面提供1种临时方案和1种解决方案。

临时方案

每次下载前按复位按钮,哈哈。

讲道理,这种方法确实可行,但是如果有仿真需求又不行了,点击仿真按钮之前按下复位按钮确实可以进仿真,但是走几步仿真就会提示丢失设备。。。(因为调试过程中stlink常常需要让stm32处于停止状态一小段时间)。

所以这个方案只适用于没有仿真需求并且觉得下载前按复位还能接受的同学。

解决方案

如果你的电路板上带有复位按钮,请试下【按住复位按钮不松,点击下载按钮后立即松开复位按钮】能不能下载进去程序,如果可以的话跳过下面“第1步”。

第1步:使单片机处于停止状态

把stm32的flash全部擦除,用到的软件是flymcu,就是用串口下载程序那个,担心你没有用过,看下图(如果没用过flymcu的话可以百度一下使用方法,灰常多):
清除芯片
清除芯片后的单片机再上电是什么状态呢?没错,是停止状态。

第2步:设置调试引脚

其实,无法下载的原因就是没有给引脚初始化成调试引脚,然后stlink无法通过调试引脚停止单片机,程序就下载不进去。所以需要在程序里添加 swclk和swo引脚初始化 代码。

库函数编程初始化引脚方法

根据具体型号初始化调试引脚,不再赘述。

HAL编程初始化引脚方法

如果你是用的HAL编程,初始化引脚方法如下图所示:
HAL初始化
这里可以选择 Serial Wire 也可以选择 Trace Asynchronous Sw,然后重新生成代码即可。

下载完成后程序不自动运行?

还有人说下载程序的问题解决了,但是下载后程序不会自动运行,还要手动按一下复位才行,太麻烦了。这个也好解决,在keil里修改两个地方的设置就行,直接上图:
在这里插入图片描述
这个地方大家应该都知道,但是只操作这个地方是不行的。

下面这个位置要取消勾选。
下面这个位置要取消勾选。
下面这个位置要取消勾选。
重要的事情说三遍,取消勾选、取消勾选、取消勾选。
在这里插入图片描述
越来越觉得国外的东西太强大了,不仅芯片厉害,配套的开发工具也很厉害,反观我们自己,除了电源芯片还不错,其它方面还是有很长的路要走呀!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决ST-LINK无法连接设备(解决不了你顺着网线来打我) 的相关文章

随机推荐

  • 富斯i6B接收机与pixhawk连接

    pix接收PPM编码信号 xff0c 传统PWM接收器不能直接接收 xff08 例如FS ia6 xff09 xff0c 通常需要PWM转PPM转接板 xff0c 或者直接采用PPM输出的接收器 xff08 例如FS ia6B xff09
  • mission planner飞行模式设置

    我采用的富斯i6遥控器 xff0c 可以设置三种飞行模式 飞行模式中有六种模式 xff0c 在哪三个通道设置会与遥控器对应呢 xff1f 首先在 遥控器校准 选 项观察切换遥控器 模式时 输出的pwm值 xff1a 三个值分别为1000 1
  • ArduPilot Tutorial(PDF版)及ArduPilot飞行模式介绍

    ArduPilot官方Tutorial PDF 2017 2 http download csdn net download xiaoshuai537 10262086 ArduPilot中有14种常用的模式 xff1a 依赖GPS的模式有
  • PX4飞行模式-多旋翼

    手动模式 xff08 1 xff09 ARCO xff1a 特技模式 遥控器输入被转换为横滚 俯仰和偏航速度 xff0c 当摇杆回中时飞行器不会保持平衡 xff0c 可以用于翻滚等特技飞行 xff08 2 xff09 RATTITUDE x
  • 《PID控制算法的C语言实现》学习笔记

    1 PID算法原理 如果偏差为0 xff0c 则比例环节不起作用 xff1b 积分环节主要是用来消除静差 xff0c 即系统稳定后输出值和设定值之间的差值 xff1b 微分环节则反映了偏差信号的变化规律 xff0c 根据偏差信号的变化趋势来
  • 跟我一起写Makefile(整理版)

    跟我一起写Makefile 陈皓 xff08 博客地址 xff1a http blog csdn net haoel article details 2886 xff09 整理的PDF文件 xff1a http download csdn
  • PX4 Makefile分析解读

    参考文章 xff1a PX4源码的Makefile详细理解 http blog csdn net linkcian article details 79152724 感谢原文作者 主要分析 make px4fmu v2 default编译流
  • CREO工程图学习笔记

    CREO工程图技术手册 学习笔记 1 小功能 不同窗口切换操作 xff1a 视图 激活 材料设置 xff1a 文件 准备 模型属性 2 视图创建 插入视图 xff1a 图纸上长按右键 插入普通视图插入投影视图 xff1a 选择母视图 xff
  • 操作系统清华向勇陈渝版笔记(七) 进程与线程 PCB TCB 进程挂起 用户线程 内核线程 轻量级进程 僵尸队列

    7 1 进程定义 OS系统从只能跑一个程序到能跑多个 进程可以描述程序的执行过程 进程 xff1a 一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程 只有当一个程序被OS加载到内存中 xff0c cpu对其执行时 xff0c 这
  • 基于stm32F103HAL库+cubemx+freertos无感无刷电机BLDC控制程序开发

    基于stm32F103HAL库 43 cubemx 43 freertos无感无刷电机BLDC控制程序开发 最近在做一个舵机控制项目 xff0c 控制对象为大功率无感无刷电机 xff0c 网上搜遍了资源 xff0c 貌似这方面的资源真得十分
  • C++思路

    1 统计英文单词 在进行文章重复度检查时 xff0c 经常需要统计一段英文中的单词数量 xff0c 并找出长度最长的单词 设有如下定义 xff1a char str 500 编写程序 xff0c 通过利用cin getline str 50
  • 基于OpenCV构建停车场车位识别项目

    OpenCV是一个基于 xff08 开源 xff09 发行的跨平台计算机视觉库 xff0c 能实现图像处理和计算机视觉方面的很多通用算法 车位识别的图像处理过程如图所示 在python中设置完所有内容后 xff0c 最重要的依赖关系将是Op
  • 学生成绩管理系统-python

    乱写的成绩管理系统 派森 span class token comment 定义学生类型 姓名 学号 科目 span span class token keyword class span span class token class na
  • 11_3、Java集合之迭代器Iterator接口

    一 引入 Iterator对象称为迭代器 设计模式的一种 xff0c 主要用于遍历 Collection 集合中的元素 GOF给迭代器模式的定义为 xff1a 提供一种方法访问一个容器 container 对象中各个元 素 xff0c 而又
  • 进程切换和进程调度的区别

    进程切换和进程调度的区别 调度是决定将系统资源分配给哪个进程 xff0c 进程切换是实际分配系统资源 另外需要注意进程切换一定会产生中断 xff0c 进行处理器模式切换 xff0c 即从用户态进入内核态 xff0c 之后又回到用户态 xff
  • 树莓派3b+安装ubuntu server,安装mysql

    1 下载镜像 http cdimage ubuntu com ubuntu releases 18 04 5 release ubuntu 18 04 5 preinstalled server arm64 43 raspi3 img xz
  • 【GVINS初体验】

    在Ubuntu18 04下跑通GVINS GVINS介绍 环境配置 1 C 11编译器 2 ROS 3 Eigen 4 Ceres 5 gnss comm Build GVINS 跑VINS啦 GVINS介绍 GVINS是一个基于非线性优化
  • 【OpenCV】基于Adaboost和Haar-like特征人脸识别

    毕设算是告一段落 xff0c 里面用了一点点人脸识别 xff0c 其实完全是OpenCV自带的 xff0c 源自两篇论文 xff1a P Viola and M Jones Rapid object detection using a bo
  • Jetson Tx2上跑MYNT_EYE的ORB SLAM示例

    愁呀 xff0c 按照官网的说明文档 xff0c 好长时间郁闷在跑不起来 每次都是在加载词袋时报bad malloc 打开MYNT EYE ORB SLAM2 Sample Vocabulary ORBvoc txt词袋看见1082073行
  • 解决ST-LINK无法连接设备(解决不了你顺着网线来打我)

    问题分析 问题描述 在mdk中 xff0c 点击下载按钮提示找不到目标设备 xff0c 无法自动下载程序 原因猜想 单片机只有在停止状态下才可以下载程序 xff1f 猜想验证 如果让单片机处在停止状态 xff0c 是不是就能正常下载了呢 x