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

相关推荐
FPGA小徐21 小时前
STM32五路气敏传感器阵列电路详解:从HHC1000分压到AD8606跟随器和ADC采样
stm32·单片机·嵌入式硬件
Horn Still Sounds1 天前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
新晨单片机设计1 天前
S011C-基于STM32智能灯光控制系统(光强、声音、人体)【Proteus仿真+Keil程序+原理图】
stm32·嵌入式硬件·proteus·智能灯光控制系统
无敌贵点大王1 天前
RTThread学习记录13——关于要使用一个外设,RTThread与cubemx到底要怎么配合?
c语言·stm32·学习·rtthread
女神下凡1 天前
芯参谋(26):DDR4_软件设计规范
arm开发·单片机·嵌入式硬件
AOI小白新手上路1 天前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
测试学习test1 天前
SPI读取W25Q64硬件驱动(HAL库)
数据库·stm32·嵌入式硬件·算法
xingzhemengyou11 天前
STM32对函数进行CRC校验
stm32·单片机·嵌入式硬件
FPGA小徐1 天前
STM32引脚详解:PC13-TAMPER-RTC 多功能复用引脚完全剖析(踩坑+配置+布线)
单片机·嵌入式硬件
铅笔小新z1 天前
【stm32】中断与异常
stm32·单片机·嵌入式硬件