STM32单片机通过ST-Link 烧录和调试

系列文章目录

STM32单片机系列专栏

C语言术语和结构总结专栏

文章目录

1. ST-LINK V2

2. 操作步骤

2.1 连接方式

2.2 驱动安装常规步骤

2.3 Keil中的设置

3. 调式仿真

4. 常见问题排查


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调试下载器单片机硬件电路
3V3VCC(3.3v)
SWDIOSWDIO
SWCLKSWCLK
GNDGND

 

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,说明需要升级一下固件。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4188.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++并查集

文章目录 前言一、并查集1、并查集原理2、并查集实现3、并查集应用1.省份数量2.等式方程的可满足性 前言 一、并查集 1、并查集原理 在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后…

nvm基本使用

nvm基本使用 文章目录 nvm基本使用1.基本介绍2.下载地址3.常用指令 1.基本介绍 NVM是一个用于管理 Node.js 版本的工具。它允许您在同一台计算机上同时安装和管理多个 Node.js 版本,针对于不同的项目可能需要不同版本的 Node.js 运行环境。 NVM 主要功能&#xff…

24深圳杯AC题完整思路+可执行代码+参考论文!!!!

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的,大家可以参考我往期的资料,所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意:(建议先下单占坑,因为随着后续我们更新资料数…

Windows10系统安装IIS的步骤

在Windows 10上安装IIS的步骤如下:12 打开控制面板,选择“程序”或“程序和功能”。点击“启用或关闭Windows功能”。在列表中找到“Internet Information Services”,勾选该选项。根据需要勾选IIS的具体组件,如万维网服务、IIS可…

创新指南 | 2024年企业如何十步打造最佳的数字化营销策略组合

营销是一个动态且不断变化的领域。顶级的数字营销策略随着消费者和技术趋势的变化而变化。这就是为什么每个公司都需要一个经过良好规划并具有明确里程碑和目标的营销策略。一旦你有了正确的计划,你实现为业务设定的目标的可能性就会大大增加。这意味着,…

面试经典150题——求根节点到叶节点数字之和

​ 1. 题目描述 2. 题目分析与解析 2.1 思路一——DFS 理解问题: 首先要理解题目的要求,即对于给定的二叉树,我们需要找出从根节点到所有叶子节点的所有路径,然后将每一条路径上的数字组成一个整数,最后求出这些整数…

手把手教数据结构与算法:栈的应用(平衡符号和简单计算器)

栈 基本概念 栈的定义 栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。 栈顶(Top):线性表允许进行插入删除的那一端…

Docker常用命令(镜像、容器)

一、镜像 1.1 存出镜像 1.2 载入镜像 1.3 上传镜像 二、容器 2.1 容器创建 2.2 查看容器的运行状态 ​2.3 启动容器 2.4 创建并启动容器 2.5 在后台持续运行 docker run 创建的容器 2.6 终止容器运行 2.7 容器的进入 ​2.8把宿主机的文件传入到容器内部 2.9 从容器…

debian gnome-desktop GUI(图形用户界面)系统

目录 🌞更新 🎨安装 🍎分配 🛋️重启 🔑通过VNC连接 debian gnome-desktop 🌞更新 sudo apt update sudo apt -y upgrade 🎨安装 sudo apt -y install task-gnome-desktop 这个过程比…

pytest-asyncio:协程异步测试案例

简介:pytest-asyncio是一个pytest插件。它便于测试使用异步库的代码。具体来说,pytest-asyncio提供了对作为测试函数的协同程序的支持。这允许用户在测试中等待代码。 历史攻略: asyncio并发访问websocket Python:协程 - 快速创…

ROS1快速入门学习笔记 - 06订阅者Subscriber的实现

一、话题模型(发布/订阅) 二、 实现步骤 与发布者步骤类似,我们将发布者的对应代码写入功能包的src文件中。 1. C程序代码 /*********************************************************************** Copyright 2020 GuYueHome (www.guyu…

SpringBoot学习之SpringBoot3集成OpenApi(三十八)

Springboot升级到Springboot3以后,就彻底放弃了对之前swagger的支持,转而重新支持最新的OpenApi,今天我们通过一个实例初步看看OpenApi和Swagger之间的区别. 一、POM依赖 我的POM文件如下,仅作参考: <?xml version="1.0" encoding="UTF-8"?>…

Openharmony - 设备异常关机Power Down问题分析

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 1.问题描述1.1出现power down的原因1.1.1硬件故障或信号1.1.2软件错误或系统崩溃2.抓日志信息2.1.抓日志方法2.2.问题初步分析3.问题排…

【数据结构与算法】:手搓顺序表(Python篇)

文章目录 一、顺序表的概念二、顺序表的实现1. 顺序表的创建1.1 扩容1.2 整体建立顺序表 2. 顺序表的基本运算算法2.1 顺序表的添加&#xff08;尾插&#xff09;2.2 指定位置插入2.3 指定位置删除2.4 顺序表的查找2.5 顺序表元素的索引访问2.6 顺序表元素的修改2.7 顺序表长度…

《Kafka 3.x.x 入门到精通》

Kafka 3.x.x 入门到精通 Kafka是一个由Scala和Java语言开发的&#xff0c;经典高吞吐量的分布式消息发布和订阅系统&#xff0c;也是大数据技术领域中用作数据交换的核心组件之一。以高吞吐&#xff0c;低延迟&#xff0c;高伸缩&#xff0c;高可靠性&#xff0c;高并发&#x…

两大成果发布!“大规模量子云算力集群”和高性能芯片展示中国科技潜力

在当前的科技领域&#xff0c;量子计算的进步正日益引起全球的关注。中国在这一领域的进展尤为显著&#xff0c;今天&#xff0c;北京量子信息科学研究院&#xff08;以下简称北京量子院&#xff09;和中国科学院量子信息与量子科技创新研究院&#xff08;以下简称量子创新院&a…

微信小程序:8.WXSS

WXSS和CSS的关系 WXSS具有CSS大部分特性&#xff0c;同时&#xff0c;WXSS还对CSS进行扩充以及修改&#xff0c;适应微信小程序的开发。 与CSS相比&#xff0c;WXSS扩展的特性有&#xff1a; rpx尺寸单位imprt样式导入 rpx尺寸单位 rpx是微信小程序中独有的&#xff0c;用来…

Vue 使用Canvas画布手写电子版签名 保存 上传服务端

电子版签名效果 定义画布 <canvas width"500"height"250"ref"cn"mousedown"cnMouseDown"mousemove"cnMouseMove"mouseup"cnMouseUp"style"width:500px;height: 250px;background-color:snow;padding: 10p…

在Docker中部署Java应用:Java版本隔离的实践案例

在Docker中部署Java应用&#xff1a;Java版本隔离的实践案例 人生就是一场又一场的相遇&#xff0c;一个明媚&#xff0c;一个忧伤&#xff0c;一个华丽&#xff0c;一个冒险&#xff0c;一个倔强&#xff0c;一个柔软&#xff0c;最后那个正在成长。 背景需求 在软件开发和部…

Python实践应用|NC文件读取

import netCDF4 as nc import numpy as np import matplotlib.pyplot as plt# 打开NC文件 nc_file E:/NC_file/air.sig995.2012.nc # 将your_file.nc替换为你的NC文件路径 nc_data nc.Dataset(nc_file, r)# 查看NC文件中包含的变量 print("Variables in the NC file:&q…