STM32 Boot0 与 Boot1 [当 Flash 被误操作锁死或 SWD/JTAG 无法连接时,很有用]

STM32 Boot0 与 Boot1 作用与配置

核心作用与启动模式

  • BOOT0、BOOT1 是配置芯片复位后从哪个存储区域开始执行的模式引脚,常见组合如下:

    BOOT1 BOOT0 启动源 典型用途 常见映射地址
    x 0 用户 Flash 正常运行应用程序 0x0800_0000
    0 1 系统存储器(Bootloader) 通过串口等接口进行固件下载(ISP/IAP 的引导) 依型号而定(如部分型号为 0x1FFF_0000
    1 1 内置 SRAM 临时调试、快速验证代码(掉电丢失) 0x2000_0000

    说明:不同系列的映射地址可能略有差异,系统存储器的具体地址以芯片数据手册为准。

典型使用场景

  • 正常运行 :设置 BOOT0=0 (BOOT1 任意),从用户 Flash(0x0800_0000) 启动,这是产品量产与日常运行的默认模式。
  • 串口/USB 等升级 :设置 BOOT0=1、BOOT1=0 进入系统存储器,运行厂商预置的 Bootloader ,通过 UART/USB 等接口更新用户 Flash;完成后需恢复 BOOT0=0 以从 Flash 启动。
  • 故障恢复:当 Flash 被误操作锁死或 SWD/JTAG 无法连接(管脚被重新定义)时,可切到系统存储器模式重新刷写程序。具体操作是进入系统存储器模式,然后通过KAIL或者串口工具将FLASH正片擦除,最后回到从FLASH启动模式。
  • 快速调试 :设置 BOOT0=1、BOOT1=1SRAM(0x2000_0000) 启动,适合小改动快速验证;注意 SRAM 掉电数据丢失,调试完成应写回 Flash。
相关推荐
芯岭技术郦8 分钟前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
Dr.kangder2 小时前
嵌入式面试总结(八)——大小端
嵌入式硬件·面试·职场和发展·架构·嵌入式
zlinear数据采集卡3 小时前
D223的SRAM硬件记录仪:外部触发与瞬态波形捕获方案
arm开发·嵌入式硬件·fpga开发·开源
zcmodeltech4 小时前
双碳沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的碳捕集-零碳园区-综合能源全场景联动方案
stm32·嵌入式硬件·能源·嵌入式实时数据库·多分类
LCG米4 小时前
STM32零基础入门教程:从环境搭建到实战项目(点亮LED + 串口打印 + 呼吸灯)
stm32·单片机·嵌入式硬件
云泽8084 小时前
深入浅出 STM32(十一):从寄存器映射到 HAL 库位操作源码详解
stm32·单片机·嵌入式硬件
哥不想学算法4 小时前
STM32零基础教程(六):ADC、I2C、SPI与DMA
stm32·单片机·嵌入式硬件
szxinmai主板定制专家5 小时前
基于 RK3588 + Xilinx Kintex-7 FPGA 异构工业主控板设计方案
arm开发·人工智能·嵌入式硬件·fpga开发·zynq
我是一棵无人问荆的小草5 小时前
LM393DT比较器输出
单片机·嵌入式硬件
云泽8085 小时前
深入浅出 STM32(十三):从施密特触发器到四种输入配置的底层逻辑
stm32·单片机·嵌入式硬件