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。
相关推荐
不悔哥1 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20161 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子1 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡1 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡1 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9661 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛1 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅1 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员1 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程