STM32F103 的 BOOT 引脚决定复位后选择哪一种启动来源。它们不直接选择 IDE,也不决定所有下载接口是否可用。本页针对 F103 的 BOOT0、PB2/BOOT1;带 option-byte 启动配置的其他 STM32 必须使用对应手册。
1. 三种启动选择
跳转到“1. 三种启动选择”| BOOT0 | BOOT1 | 启动来源 | 典型用途 |
|---|---|---|---|
| 0 | 任意 | 主 Flash | 正常执行应用程序。 |
| 1 | 0 | System memory | 执行 ST 出厂 ROM 下载程序。 |
| 1 | 1 | 内部 SRAM | 调试用 RAM 启动,需匹配该芯片特殊启动机制和预装内容。 |
RM0008 规定 BOOT 引脚在复位后的第 4 个 SYSCLK 上升沿采样;退出 Standby 时也会重新采样。因此切换开关后通常需要复位,不能把“拨高 BOOT0”说成运行中的 CPU 会立即跳到下载程序。RM0008 §3.4
主 Flash 的正常地址从 0x08000000 开始。复位时的启动映射和 CPU 取向量过程见内存映射与启动过程。不要把整个 0x00000000–0x1FFFFFFF 区域当作 Flash 的等长镜像。
2. BOOT0 默认低、需要时拉高
跳转到“2. BOOT0 默认低、需要时拉高”一个常见设计是 BOOT0 有确定的默认下拉,跳线/开关在需要 ROM 下载时把它拉到有效高电平。电阻值和开关拓扑应满足输入阈值、漏电、抗干扰与板级负载,不能只看 MCU 符号就断言整板可靠。
可控开关/跳线有效数字电源 ──────────o o────┐ ├── BOOT0 下拉 │ GNDBOOT1 在 F103 中与 PB2 复用。如果将它硬接地,正常启动后也不能再把 PB2 配成推挽高输出,否则会形成输出争用。如果需要复用 PB2,应把启动采样和应用运行两阶段一起设计,采用合适的偏置及外部电路。
硬件默认状态应保证断开下载器、开关未操作和电源刚建立时仍可正常启动。不要依赖尚未运行的软件为 BOOT 输入设置电平。
3. 进入 ROM 下载程序的步骤
跳转到“3. 进入 ROM 下载程序的步骤”- 确认完整料号,以及该料号在 AN2606 中支持的 ROM 接口和引脚。
- 在允许条件下连接共地、电平兼容的下载器和对应串口等信号;USB-UART 接口不是 RS-232 电压接口。
- 设置 BOOT0=1、BOOT1=0,再复位。
- 按 ROM 协议与下载工具的要求建立通信、读取器件信息并执行目标操作。
- 完成后将 BOOT0 恢复为0,再复位,从主 Flash 启动。
对于本组资料中的 STM32F103VGT6(XL-density),AN2606 Rev70 对应表给出 USART1 和重映射 USART2 的 ROM 下载选择,系统存储器起点为 0x1FFFE000。常见中/高密度 F103 的 0x1FFFF000 不能不加区分地套用到它。
MCU 硬件含有 USB 外设,不等于出厂 ROM 支持 USB DFU。UART具体引脚、时钟识别过程和限制,应继续查对应 AN2606 表与协议文档;SWD/JTAG 调试下载是另一条路径,通常不要求进入 ROM 下载模式。AN2606
4. BOOT 接线与电源接线分开检查
跳转到“4. BOOT 接线与电源接线分开检查”BOOT 设置正确但 VDD、VDDA、复位、时钟或接地不合要求时,下载和启动仍可能失败。原资料两张电源图的含义整理如下:
- 有备用电池的双二极管图:主电源和电池各经一只二极管汇合到 VBAT,100 nF 电容从 VBAT 旁路到地。电池不是通过串联电容向 VDD 供电。
- 无备用电池图:3.3 V 沿右侧电源线接至 VBAT;下方电容地母线到 C17 处结束,没有把 VBAT 短接到地。该接法本身符合无备用源时接 VDD 的原则。
上述图只能说明局部拓扑,不足以审定整板。供电范围、二极管压降、封装脚号和 ADC 参考见电源与 ADC 参考。
5. 无法下载或启动时
跳转到“5. 无法下载或启动时”先测电源与复位,再检查 BOOT 的实际引脚电平及复位时序;随后确认选对串口、交叉连接 TX/RX、共地、电平兼容和 ROM 支持范围。若 ROM 可连接而应用不启动,再检查 Flash 内容、向量表、链接地址、读保护状态和应用的时钟初始化。
本页全文和两张原始电路图已核对;没有当前完整板级原理图、示波器波形或实物下载测试,因此不把局部接线说明写成整板验收结论。