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

相关推荐
【 STM32开发 】1 分钟前
CubeMX+STM32】SD卡U盘实现__USB+FATFS (F103 篇)
stm32·单片机·嵌入式硬件
jianqiang.xue32 分钟前
3倍向量算力:Arm给最小MCU装上本地AI
arm开发·人工智能·单片机
蜀黍@猿2 小时前
ARM 汇编入门(十二):MMU、页表与虚拟内存全解析
汇编·arm开发·stm32·mcu
无敌最俊朗-14 小时前
【电感专题2:电感的感抗、电路的阻抗、电流的滞后】
单片机·嵌入式硬件·元器件·电感
wuyk55519 小时前
嵌入式故障诊断-Bug002-局部大数组压栈高温必死机
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·嵌入式实时数据库
Zwawa1 天前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
Dev_XH1 天前
【成品设计】基于沁恒单片机的电动汽车充电站智慧调度系统
stm32·单片机·嵌入式硬件·物联网
Zw-awa1 天前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
stm32
minglie11 天前
esp32c3+atshell测试ov7670
单片机·嵌入式硬件
橘为己有4411 天前
51单片机:流水灯
单片机·51单片机