在Keil中使用ST-LINK烧录STM32程序指南
前言
之前玩STM32都是用J-LINK烧录程序,不仅便捷,而且烧录的速度比用串口快好多。
最近我接了几个32单片机的毕设单子,便买了几块C8T6的最小系统板用来开发。最初我还是用J-LINK烧录C8T6的,只要从J-LINK中找出对应的引脚用杜邦线连上就可以烧录,但是每晚要去学校的实验室,每次都要重新接线,用J-LINK又显得不太方便了。
于是我又买了一块ST-LINK的烧录器,在测试烧录成功后,我将配置的过程整理成了本篇博客供大家参考。
前期准备
- STM32F103C8T6最小系统板一块(其他的STM32单片机也适用)
- ST-LINK/V2烧录器一块(其他版本适用)
- 母对母的杜邦线4根
- Windows系统电脑一台,且已安装MDK-ARM,没有安装的可以点击跳转安装-> Keil系列教程03_MDK-ARM安装与注册
线路连接
实物接线图,我把杜邦线用绝缘胶缠上了,这样插拔方便。

下面是ST-LINK/V2和STM32的接线表,都是一一对应的。
| ST-LINK/V2 | STM32 |
|---|---|
| 3.3V | 3V3 |
| GND | GND |
| SWDIO | SWDIO |
| SWCLK | SWCLK |
按照上面连接后,将ST-LINK插到电脑的USB口上,下文中默认ST-LINK已插到电脑。
下载ST-LINK驱动程序
这里提供两种方式供大家选择,一个是从官网下载驱动(需要注册ST账户),另一个是从百度网盘下载。
1.通过官网下载
官网链接:https://www.st.com/en/development-tools/stsw-link009.html
打开官网后点击“Get Software”,点击“Get latest”,后面根据提示注册账号进行下载即可,这里不再演示。


2.通过百度网盘下载
我已将本文使用的驱动打包上传至百度网盘,扫描下方二维码,后台回复“0017”即可免费获取分享链接。

安装ST-LINK驱动程序
在下载好后,把压缩包解压出来,打开解压后的文件夹。
找到“dpinst_amd64.exe”右键用管理员身份打开。

点击“Next >”。

如果出现下图,点击“Install”即可。

驱动安装成功,点击“Finish”。

查看电脑是否连接ST-LINK
驱动程序安装成功后,可以在电脑的任务栏中右键“开始菜单”,选择“设备管理”,在“通用串行总线设备”中会显示“STM32 STLink”,则表示已连接ST-LINK。

如果没有显示,需要重新拔插一下ST-LINK,便会显示出来。
Keil配置ST-LINK
这里你可以打开一个已有的工程,方便后续程序烧录成功的验证。
工程打开后,点击“魔法棒”,在打开的页面中点击“Debug”,选择“ST-Link Debugger”后点击“Settings”。

如果出现下图,点击“Yes”,选择升级。

点击“Device Connect”,出现固件后点击“Yes > > > >”,等待下载完成。

下载好后,点击“OK”,点右上角的“X”,关闭这个页面。

在“Debug”中,左边的Port选择“SW”,Req输入“5”,在右侧的“SW Device”已经显示出来了连接的硬件,表示Keil已经和ST-LINK建立了连接。
如果没有显示,重新拔插一下ST-LINK,或重开一下Keil。

接下来,进行其他配置,在“Flash Download”中勾选“Reset and Run”,从而达到烧录程序后软件复位单片机的效果。
在下方根据具体单片机的Flash容量进行选择,单片机的Flash容量推荐到官网或芯片的数据手册中查看。

在“Pack”中,取消勾选“Enable”,才可以烧录后软件自动复位,点击“OK”。

设置完成,点击“OK”。

编译烧录程序
点击编译按钮,0错误0警告后点击“LOAD按钮”烧录程序。

显示以下结果,则为烧录成功。
当然如果你前面选择了已有的工程进行烧录,那么可以通过单片机执行的程序来验证是否烧录成功。

后记
本文到这就结束了,如果对你有所帮助,请点赞支持一下呦。
在Keil中使用ST-LINK烧录STM32程序指南的更多相关文章
- ST Link 调试问题总结
用过ST Link调试工具的同事都应该知道,ST Link是一个很不错的调试工具,它具有小并且功能齐全,价格便宜等特点,现在市场上普遍是下面这两种ST Link, 但如果用的比较多,会发现有时候会存在 ...
- 使用st link v2向stm32下载和调试程序
st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿 ...
- 6.ST LINK 下调试异常
☆1.无法进入main函数(printf的影响)***为什么有时候可以进入main函数,有什么进入不了main函数? <1> 因为C语言默认使用显示器作为标准输出的设备,所以如果想利 ...
- keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法
在keil中仿照别人的程序写了RCC初始化的程序,编译后出现以下问题 .\obj\pro1.axf: Error: L6218E: Undefined symbol FLASH_PrefetchBuf ...
- keil中的串口调试:
keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如 ...
- 转Keil 中使用 STM32F4xx 硬件浮点单元
Keil 中使用 STM32F4xx 硬件浮点单元一.前言有工程师反应说 Keil 下无法使用 STM32F4xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有 一些人反应不知如何使用芯片芯片内 ...
- 解决OpenOCD烧录STM32失败, 无法通过SWD连接的问题
OpenOCD烧录STM32失败的问题 Linux下使用 OpenOCD 烧录 STM32, 出现了 Error: init mode failed (unable to connect to the ...
- 【Keil】浅学一下keil中的.sct文件
[Keil]浅学一下keil中的.sct文件 最近重新捣鼓了acfly的源码,有了新的有趣发现,当然,过程并不有趣. 起因 clone下来我去年提交的代码,编译 ...... 报错辣! linking ...
- KEIL中启动文件详解(汇编语言)
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要 ...
- Keil中的code关键字
一般说来,我们在C语言中定义的每一个变量初始化后都会占用一定的内存(RAM)空间.但是在keil中提供了一个特殊的关键字“code”,这个关键字在标准C中是没有的.其语法举例如下: unsigned ...
随机推荐
- vscode注释快捷键
单行注释 ctrl+/ 多行注释 ctrl+alt+a 文档注释 /** 复制上面一行 ctrl+d 选中段落整体向左或向右缩进 ctrl +[ 或 ctrl + ] 查找 ctrl + f
- 本地部署 Overleaf 服务
️ 注意:本教程只适用于 macOS / Linux 操作系统.如果需要在 Windows 上部署 Overleaf,请先安装 WSL,之后在 WSL 中部署 Overleaf . 本地部署 Over ...
- 部署在阿里云上的项目收到了阿里云发送的shiro漏洞
编辑 还记得在十月份凯哥发布过一篇修改若依系统编辑器的文章,然后为了方便大家浏览,凯哥就部署在服务器上了,结果,没想到最近收到了阿里云漏洞扫描通知: 编辑 如果不修改的话:对于长期存在安全隐患 ...
- Blender 2D动画
前情提要: 本来之前会的,很久没有弄,居然忘了,忘得透透的,没得办法,先简单记录一下 前提: 安装有Blender软件 步骤: 1. 打开Blender 2.点击文件,新建,2D Animation ...
- Openstack-dashboard默认配额
创建实例不超过10个 方法一 修改配置文件 在使用openstack的过程中,默认创建的实例最多10个,这是因为配额默认实例就是10 所以我们需要修改配置文件/etc/nova/nova.conf中的 ...
- 十种SQL的语法
一.ORDER BY FIELD()自定义排序逻辑 ORDER BY FIELD(str,str1,...) 自定义排序sql如下: SELECT * from order_diy ORDER BY ...
- SimpleAISearch:C# + DuckDuckGo 实现简单的AI搜索
最近AI搜索很火爆,有Perplexity.秘塔AI.MindSearch.Perplexica.memfree.khoj等等. 在使用大语言模型的过程中,或许你也遇到了这种局限,就是无法获取网上最新 ...
- HeaderFile (1.2-1.6) 中 hct.h 使用教程
下载 HeaderFile 1.2 HCT 是干什么的 辅助数据生成 主干框架 你需要包含必须的头文件 hct.h 此外,你需要实现如下函数: void create() 数据生成函数 void so ...
- Android性能优化:getResources()与Binder交火导致的界面卡顿优化
背景 某轮测试发现,我们的设备运行一个第三方的App时,卡顿感非常明显: 界面加载很慢,菊花转半天 滑屏极度不跟手,目测观感帧率低于15 对比机(竞品)也会稍微一点卡,但是好很多,基本不会有很大感觉的 ...
- 2023年8月中国数据库排行榜:TiDB 重夺榜眼,PolarDB 再进一位
斗力频催鼓.争都更少筹. 2023年8月的 墨天轮中国数据库流行度排行 在炎炎夏日中火热出炉,本月共有286个数据库参与排名.本月排行榜前十中,头部变动加剧.TiDB 发奋图强重夺榜眼,阿里云Pola ...