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 引脚的电平,能够确保芯片按照预期的方式启动,实现烧录程序、正常运行应用程序或调试程序等不同的目的。

相关推荐
@ZzHhXx5 小时前
嵌入式学习---(单片机)
单片机·嵌入式硬件·学习
世微 如初5 小时前
精准掌控功率流动:AP3465 同步降压芯片的设计艺术
单片机·嵌入式硬件
CC呢5 小时前
基于单片机智能水龙头/智能洗漱台设计
stm32·单片机·嵌入式硬件·单片机设计
彭祥.5 小时前
Mid-360 雷达获取数据并使用 Open3d+python 进行可视化
单片机·嵌入式硬件
芯岭技术5 小时前
XL5300测距模组与XL32F001/PY32F030单片机测距 最大7.6M距离测量
单片机·嵌入式硬件
不会留有遗憾6 小时前
【FPGA】单总线——DS18B20
stm32·单片机·嵌入式硬件
CC呢8 小时前
基于单片机智能家居语音控制系统
单片机·嵌入式硬件·智能家居·单片机设计
Wallace Zhang10 小时前
STM32 - Embedded IDE - GCC - 如何将编译得到的.bin固件添加CRC32校验码
stm32·gcc·eide
Vae_Mars10 小时前
C语言中的运算符
数据库·单片机·mongodb