STM32使用FlyMcu串口下载程序与STLink Utility下载程序

本文介绍了如何使用FlyMcu通过串口下载STM32程序,包括创建.hex文件、设置boot引脚和优化跳线帽操作。同时,详细讲解了STLinkUtility的下载过程,包括选项字节管理、固件更新等,并指出了两者之间的区别和可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

本文主要讲解使用FlyMcu配合USART串口为STM32下载程序、使用STLink Utility配合STLink为STM32下载程序,以及这两个软件的其他相关功能和下载程序的原理。


软件链接

链接:https://pan.baidu.com/s/1lRjmeDN6UB7Q_VFs0S4UGg
提取码:80an

一、FlyMcu串口下载程序

首先,要让需要下载的程序创建.hex文件,按如下勾选,然后点击OK
在这里插入图片描述

然后重新编译,就能得到.hex文件,在项目同级目录的Object目录下

在这里插入图片描述

然后还要使boot引脚变为boot1引脚,这样才能使芯片进入BootLoader程序<即不断接收串口的数据>(芯片只有在刚开始或复位时才会读取boot引脚,所以插入跳线帽后要复位一下)

在这里插入图片描述

此软件不需要下载,直接打开FlyMcu.exe,选择正确的串口号,还有所要的.hex文件

在这里插入图片描述

然后点击开始编程

在这里插入图片描述

最后由于boot引脚还在执行接收程序,所以还需把boot引脚变回boot0,即把跳线帽改回去,这样就可以执行程序了。

在这里插入图片描述

原理

首先看存储器映像,Flash就是存储要执行的程序的地方,当更新flash内容时,借助了BootLoader来辅助flash内容的更新,flash的更新就像机器人更换电池,在电池拿下的一刻,将无法自己完成后面的操作,所以这里需要BootLoader帮忙。
在这里插入图片描述

然后再看启动模式,对应修改跳线帽的部分

在这里插入图片描述

优化手动修改跳线帽

首先需要自己连接电路来驱动引脚修改boot引脚的值,配合FlyMcu的下拉框选择合适的方法即可
在这里插入图片描述
在这里插入图片描述

然后就是按下图勾选,可以一次性的减少一次boot跳线帽的复位,不过可以在需要频繁修改程序内容时暂时使用这种方式。
在这里插入图片描述

选项字节

如下图,选项字节相当于是程序之外的配置内容,可以通过外部软件简单方便的修改,但是此软件的选项字节与下载程序是同时的,如果开启了读保护或写保护,导致此程序无法下载程序,以至于无法修改读保护与写保护会形成死循环。
在这里插入图片描述
在这里插入图片描述

其他功能

在这里插入图片描述

二、STLink Utility下载程序

这个软件需要下载,点击.exe文件直接下载,选择好路径
在这里插入图片描述

安装成功后,到桌面打开这个软件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

下载程序

首先打开所需程序文件,这个软件支持.hex与.bin文件
在这里插入图片描述
选择其中一个
在这里插入图片描述
然后按下图开始下载
在这里插入图片描述

选项字节

这个软件可以独立配置选项字节,不会出现使用FlyMcu串口下载的读写保护导致的问题
在这里插入图片描述
在这里插入图片描述

固件更新

按如下图操作即可,不过不需要频繁的更新
在这里插入图片描述
需要手动重启,把STLink重新插入即可
在这里插入图片描述

在这里插入图片描述

<think>好的,用户之前已经询问过关于STM32F103RCT6使用STLink Utility无法连接的问题,现在又提出了类似的问题,但这次参考了站内的三个引用内容。我需要仔细分析这些引用,看看是否有新的信息需要整合到回答中。 首先,用户提供的引用[1]提到KEIL5连接不上ST-LINK/JLINK的问题,可能原因是驱动版本过低,或者硬件上SWD引脚电平问题。这可能当前的STLink连接问题有关,特别是SWD接口的配置是否正确,驱动是否安装正确。引用[2]和[3]是关于FlyMcu串口下载STLINK Utility使用,可能用户尝试过其他下载方式,但主要还是想解决STLink的问题。用户的问题仍然是无法连接,所以需要综合之前的解决方案和新的引用内容。之前的回答中提到了驱动、芯片锁死、接口配置、串口测试和固件更新。现在需要补充引用中的内容,例如检查KEIL中的设置,驱动版本,以及SWD引脚的上拉电阻是否正确。 可能的步骤包括:检查STLink驱动是否最新,确保在STLink Utility中正确设置SWD接口,检查硬件连接是否有问题,特别是SWDIO和SWCLK是否被正确拉高,可能需要添加上拉电阻。另外,用户可能在KEIL中使用STLink时遇到问题,但当前问题是在STLink Utility中,所以可能需要排除KEIL的影响,单独在Utility中检查连接。还需要考虑用户是否在尝试不同的工具,比如FlyMcu,但主要问题还是STLinkUtility无法连接。可能需要指导用户检查硬件连接,包括复位电路是否正常,是否有其他设备干扰SWD接口,或者目标板电源是否稳定。此外,引用中提到JLINK模式需要拉高SWD引脚,这可能同样适用于STLink的情况,如果STM32的SWD接口默认内部下拉,可能需要外部上拉电阻确保信号正确。这也是一个需要检查的点。 最后,需要确保所有步骤都结合用户提供的引用内容,给出具体的解决方案,比如更新驱动、添加上拉电阻、检查连接模式等,并在回答中适当引用这些来源。</think>### STM32F103RCT6 ST-Link Utility 无法连接解决方案 结合用户提供的引用内容[^1][^2][^3],以下是针对该问题的系统性排查和解决方案: --- #### 一、硬件连接排查 1. **SWD接口验证** - 确认ST-Link目标板的 **SWDIO (PA13)** 和 **SWCLK (PA14)** 引脚连接正确,且未其他功能复用 - 若芯片内部默认将SWD引脚拉低,需外接 **10kΩ上拉电阻** 到3.3V(参考引用[^1]中JLINK模式切换的硬件要求) 2. **电源复位电路检查** - 测量目标板供电电压是否稳定(3.3V ±10%),若使用外部电源需确保共地 - 检查 **NRST复位引脚** 是否被强制拉低,尝试手动触发复位后连接 --- #### 二、软件配置驱动问题 1. **ST-Link驱动更新** - 卸载旧版驱动后,从ST官网下载最新 **ST-Link/V2 Driver** - 安装时右键选择 **“以管理员身份运行”**(参考引用[^1]中KEIL驱动安装要求) 2. **接口模式设置** - 在ST-Link Utility中强制指定 **SWD接口**: - 点击 **Settings** → **Mode** → 选择 **SWD** 并设置电压为3.3V[^2] - 勾选 **Connect Under Reset** 选项(针对锁死芯片)[^1] 3. **固件兼容性验证** - 打开 **ST-Link Upgrade Tool**,检查ST-Link固件版本是否为最新 - 若固件过旧,通过工具直接升级(注意:升级时需断开目标板) --- #### 三、芯片状态恢复 1. **解锁芯片** - 若芯片被锁死(表现为报错 `Cannot read Cortex-M device`): - 短接目标板 **BOOT0引脚到3.3V**(进入系统存储器模式) - 使用ST-Link Utility执行 **Full Chip Erase** 操作[^3] 2. **擦除选项字节** ```python # ST-Link Utility命令行操作示例 ST-LINK_CLI.exe -c SWD UR -ME ``` - `-ME` 参数用于擦除选项字节,恢复默认调试接口配置 --- #### 四、替代方案验证 1. **串口下载测试** - 使用 **FlyMcu** 工具通过USB-TTL模块尝试串口下载(验证芯片是否正常工作)[^2] - 接线:PA9(TX) → USB-TTL RX,PA10(RX) → USB-TTL TX,波特率115200 2. **KEIL环境交叉验证** - 在KEIL中切换调试器为 **ST-Link Debugger** - 检查 **Debug → Settings** 中是否检测到设备ID(若检测失败则需检查驱动)[^1] --- ### 关键操作流程图 ```mermaid graph TD A[无法连接] --> B{硬件检查} B -->|正常| C[驱动/固件更新] B -->|异常| D[修复SWD/电源] C --> E[强制SWD模式] E --> F{连接成功?} F -->|是| G[烧录程序] F -->|否| H[芯片解锁] H --> G ``` --- ### 示例:ST-Link Utility连接设置 1. 打开软件后按 **Ctrl+N** 进入设置界面 2. 选择 **SWD** 接口类型并设置电压为3.3V 3. 勾选 **Reset Mode: Hardware Reset** 4. 点击 **Detect** 查看是否能读取芯片ID --- ### 注意事项 - 避免长距离连接:ST-Link目标板连线建议 **≤20cm**,过长的线缆可能导致信号衰减 - 禁用冲突软件:关闭KEIL、IAR等可能占用ST-Link的软件 - 排查干扰源:远离电机、无线模块等高干扰设备 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值