STM32启动模式配置

在 STM32 等单片机中,BOOT 引脚 (如 BOOT0、BOOT1,不同型号引脚数量和名称可能有差异)置位的主要作用是选择芯片的启动模式,即决定单片机在上电或复位后,从哪个存储区域读取并执行程序 (不同型号的MCU可能有差异需要查看对应数据手册Boot configuration部分),具体如下:

从主闪存存储器(Main Flash memory)启动

**引脚配置:**通常情况下,将 BOOT0 引脚置低电平(BOOT0 = 0),BOOT1 引脚也置低电平(BOOT1 = 0 ,部分型号仅 BOOT0 起关键作用)。

**作用:**芯片从主闪存存储器中读取程序并执行。主闪存用于存储用户编写并编译好的应用程序代码,这是正常工作模式下最常用的启动方式。比如在产品正常运行阶段,用户开发的控制电机运转、数据采集等程序就存放在主闪存中,芯片从这里启动执行,完成相应功能。

从系统存储器(System memory)启动

**引脚配置:**一般将 BOOT0 引脚置高电平(BOOT0 = 1),BOOT1 引脚置低电平(BOOT1 = 0 )。

作用: 芯片从系统存储器启动,运行内置的 Bootloader 程序。该 Bootloader 程序是出厂时由芯片厂商固化在系统存储器中的,**它支持通过特定的通信接口(如串口、SPI、I2C 等)接收外部程序,并将其写入主闪存存储器中,主要用于程序烧录。**在产品生产阶段,生产线可以利用这种启动模式,通过串口等方式将应用程序烧录到芯片中。

从嵌入式 SRAM 启动

**引脚配置:**不同型号的引脚电平组合略有差异,比如部分型号下,将 BOOT0 引脚置高电平(BOOT0 = 1),BOOT1 引脚也置高电平(BOOT1 = 1 )。

**作用:**芯片从嵌入式 SRAM 中读取程序并执行。由于 SRAM 掉电后数据会丢失,所以这种启动模式一般用于程序调试阶段。开发者可以将调试程序下载到 SRAM 中运行,利用 SRAM 读写速度快的特点,快速验证代码功能,并且方便修改和重新加载程序,而不需要频繁擦写 Flash 存储器。

此外,BOOT 引脚的配置还可能与芯片的一些特殊功能和保护机制相关联,例如在某些情况下,特定的 BOOT 引脚状态可以使芯片进入安全启动、调试模式等。 正确设置 BOOT 引脚的电平,能够确保芯片按照预期的方式启动,实现烧录程序、正常运行应用程序或调试程序等不同的目的。

相关推荐
Dr.kangder3 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
ACP广源盛139246256735 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
振南的单片机世界8 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈8 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
水果里面有苹果8 小时前
28-DRV8825PWPR步进电机驱动器
单片机
WWJA王文举11 小时前
RS485通信超时全面排查:终端电阻、A/B线、DE方向控制、串口参数和Modbus一次讲透
stm32·通信协议·rs485
Dr.kangder13 小时前
嵌入式面试总结(十九)——内存泄露
单片机·算法·面试·职场和发展·架构·硬件架构
萌新小白YXY14 小时前
SAE J1587/SAE J1708 协议笔记
笔记·单片机·嵌入式硬件
嘉子的秃头日记15 小时前
机械革命“自动修复”无法修复你的电脑
stm32·单片机·电脑
森旺电子15 小时前
电子负载使用介绍
单片机·嵌入式硬件