自己画的F103ZET6板子,在使用STLINK时的现象分析(和boot0 boot1 和debug有关)

现象描述:按照正常连接,连接STLINK和单片机的几个口,

一开始尽管BOOT1,BOOT0接GND,可以正常使用连接STLINK,下载程序,运行程序

但某一时刻开始,只要BOOT0和BOOT1接板子的GND,就无法与STLINK成功连接,取下岔线帽,发现又可以与STLINK连接了。离谱。。。。

以前boot0 和1都给0还可以连stlink,突然就不行了><.    

下面是电路实测

boot1                           boot0                          现象

0                                 0                                 正常运行,无法连接STLINK

0                                 1                                 无法运行,可以连接STLINK

1                                 1                                 无法运行,可以连接STLINK

初步分析,此处的影响了单片机的某功能的工作,又或是影响到了STLINK连接的那根线

下面开始分析电路

1.

boot1                           boot0                          现象

0                                 0                                 正常运行,无法连接STLINK

先查看是否真的连接到了GND,实测

岔线帽,STLINK  GND=0

插线帽,STLINK VCC=3.3

测试了半天硬件都是对的,

最后怀疑到软件设置上。

最后发现问题,一开始可以是因为

在CUBEMX

debug提前定义了单片机的引脚属性

而突然不可以了是因为,下载新工程时,忘记了DEBUG设计,所以下次就不行了

看这哥们的点醒了我,救命恩人

ST-Link下载STM32程序跟BOOT0有关系的解决方法_stlink下载-优快云博客

前面之所以用其他的BOOT选项就可以连接STLINK,是因为使用的程序目录不一样了,用00,烧录进去的程序就没有stlink的下载设计到里面,而其他的虽然是空,但某人会把SW接口打开

<think>好的,我现在需要帮助用户解决如何使用STLink烧录STM32F103ZET6程序的问题。首先,我得回忆一下用户提供的引用内容之前的对话。用户提到了几个引用,比如关于SRAM下载、官方IAP示例以及使用FlyMcu烧录的步骤。不过用户现在的问题是关于STLink的具体使用方法,所以可能需要结合这些引用中的部分信息,但主要还是围绕STLink的设置。 首先,我应该确定STLink的基本连接方式。STM32F103ZET6的调试接口是SWD,所以需要连接SWDIO、SWCLK、GND3.3V。用户可能需要知道如何正确连接这些引脚,避免接错。然后,软件配置方面,用户可能使用Keil MDK作为开发环境,所以需要指导如何在Keil中设置STLink调试器。 接下来,用户可能需要了解工程配置中的目标选项,比如选择正确的调试器,设置SWD接口,以及是否启用复位连接等选项。此外,编译生成HEX文件也是关键步骤,确保输出文件正确,这样烧录才能找到正确的文件。 烧录步骤可能包括连接硬件、设置软件、点击下载按钮等。还要注意常见问题,比如驱动安装是否正确,接线是否牢固,供电是否稳定,以及Boot0Boot1引脚的配置是否正确。用户可能遇到无法识别设备的情况,这候需要检查这些方面。 另外,用户提供的引用中提到过IAPFlyMcu的使用,但STLink是直接通过SWD接口烧录,不需要进入Bootloader模式,所以需要明确说明这一点。同,引用中的复制文件到USER目录可能工程配置有关,但可能不直接相关,除非用户需要特定的驱动文件。 最后,生成相关问题,要考虑用户可能进一步的问题,比如速度优化、SWD与JTAG的区别、RAM中调试等,这些都需要涵盖进去,帮助用户扩展知识。 总结步骤应该是:硬件连接→软件配置→工程设置→编译与烧录→常见问题处理。确保每一步都清晰,避免遗漏关键点,比如驱动安装Boot引脚设置,这些往往是容易出错的地方。</think>### 如何使用STLink烧录STM32F103ZET6程序 #### 一、硬件准备 1. **STLink调试器**:确认STLink固件已更新至最新版本 2. **目标板连接**: - STLink的**SWDIO**接STM32的**PA13** - STLink的**SWCLK**接STM32的**PA14** - **GND**对接 - **3.3V**供电线可连接(若目标板独立供电则无需连接) $$ \text{连接示意图:} \begin{cases} \text{STLink} & \rightarrow \text{STM32} \\ SWDIO & \rightarrow PA13 \\ SWCLK & \rightarrow PA14 \end{cases} $$ #### 二、软件配置(以Keil MDK为例) 1. **驱动安装**: - 安装STLink官方驱动(ST-LINK/V2 USB driver) - 在设备管理器中确认驱动状态显示正常[^3] 2. **工程设置**: - 打开工程后进入**Options for Target → Debug** - 选择**ST-Link Debugger**,点击**Settings** - 在**Debug**选项卡选择**SWD**接口模式 - 勾选**Reset and Run**选项(确保程序烧录后自动运行) #### 三、烧录步骤 1. 编译生成HEX文件: - 在**Options for Target → Output**中勾选**Create HEX File** - 点击**Rebuild**生成OBJ文件夹内的HEX文件[^3] 2. 烧录操作: - 点击Keil工具栏的**Load**按钮(或按F8) - 观察输出窗口提示: ``` *** Erase Done *** Programming Finished *** Verify OK ``` #### 四、常见问题处理 | 问题现象 | 解决方案 | |---------|----------| | 无法识别设备 | ①检查SWD接线 ②确认Boot0=0/Boot1=0[^1] | | 供电不足 | 使用外部电源单独供电 | | 校验失败 | 降低SWD钟频率(Settings → Clock)| #### 五、进阶配置 1. **RAM调试**:修改分散加载文件(.sct),将运行地址设为0x20000000[^1] 2. **IAP支持**:可通过修改向量表偏移实现双程序分区[^2] 3. **加密烧录**:在**Utilities**选项卡启用读保护功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值