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

相关推荐
xuxie992 小时前
start9 霍尔双相编码器
单片机
兆龙电子单片机设计3 小时前
【STM32项目开源】STM32单片机语音分类垃圾桶-蓝牙APP
stm32·单片机·嵌入式硬件·物联网·开源·自动化·毕业设计
零涂毕业设计4 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
ye150127774555 小时前
220V转5V1A隔离芯片WT5602
单片机·嵌入式硬件·其他·硬件工程
ye150127774556 小时前
DC24V-100V转3.3V500mA隔离芯片WT5602
单片机·嵌入式硬件·其他·硬件工程
Lumos6fly6 小时前
51单片机从零到实战(15)——数字时钟温度计
单片机·嵌入式硬件·51单片机
放学校门口见9 小时前
vscode部署stm32开发调试环境
ide·vscode·stm32
碎光拾影11 小时前
I2C总线通信全解析:从原理到实战
单片机·嵌入式硬件
愈心凌11 小时前
SSI 绝对值编码器通信 - 单片机TM32Cubemax配置教程
单片机·嵌入式硬件
科芯创展11 小时前
1.5A,5.5VIN,单灯,XZ4059A/D,4.2V/4.34V
单片机