You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
[开发板常见问题](https://docs.baud-dance.com/docs/stm32/FAQ/)
|
|
|
|
|
|
|
|
|
|
- [1. 下载不成功](#1-下载不成功)
|
|
|
|
|
- [1.1. 解决方案](#11-解决方案)
|
|
|
|
|
- [1.2. 为什么会出现这个问题](#12-为什么会出现这个问题)
|
|
|
|
|
- [1.3. 为什么以前没有出现这个问题?](#13-为什么以前没有出现这个问题)
|
|
|
|
|
- [1.4. 怎么避免这个问题?](#14-怎么避免这个问题)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 1. 下载不成功
|
|
|
|
|
|
|
|
|
|
## 1.1. 解决方案
|
|
|
|
|
|
|
|
|
|
1. 将 SYS -> Debug 设为 Serial Wire,然后**保存并重新生成代码**
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
2. **将 BOOT0 跳线帽改到 H**
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
3. **按一下复位键**
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
4. **现在就能下载程序了~**
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
5. **将跳线帽换回 L,按复位键,程序就开始跑啦~**
|
|
|
|
|
|
|
|
|
|
6. **避免下次再出现,后面再新建的工程,都按步骤1配置一下**
|
|
|
|
|
|
|
|
|
|
## 1.2. 为什么会出现这个问题
|
|
|
|
|
|
|
|
|
|
- 当没有配置 Debug 接口为 Serial Wire 时,HAL库会认为**不需要下载接口**
|
|
|
|
|
- 因此在生成初始化代码时,可能出现这一行:
|
|
|
|
|
|
|
|
|
|
```c
|
|
|
|
|
__HAL_AFIO_REMAP_SWJ_DISABLE(); // 关闭SWD、JTAG接口
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 这行代码**关闭了芯片的 SWD 接口**,导致下载失败
|
|
|
|
|
|
|
|
|
|
## 1.3. 为什么以前没有出现这个问题?
|
|
|
|
|
|
|
|
|
|
- 这行代码是跟着 **串口、I²C** 等初始化代码一起生成的
|
|
|
|
|
- 以前的工程可能没有用到,所以并没有生成这行代码
|
|
|
|
|
- 而当用到例如 串口、I²C 等功能时,HAL库需要初始化 AFIO 时,就会生成这行代码
|
|
|
|
|
|
|
|
|
|
## 1.4. 怎么避免这个问题?
|
|
|
|
|
|
|
|
|
|
在每次新建工程后,就配置好 Debug 接口为 Serial Wire
|