STM32的boot三种模式

时间:2025-02-24
  STM32微控制器有三种常见的启动(Boot)模式,这些模式决定了系统启动时如何加载和执行代码。以下是这三种模式的简要介绍:
  1. Boot from Flash (默认模式)
  描述:这是STM32的默认启动模式。在此模式下,STM32会从内部Flash存储器(通常是程序存储区域)加载程序代码并执行。
  特点:
  从主Flash(例如:STM32的内置闪存)加载应用程序。
  适用于正常应用开发,在开发过程中,通常会将代码烧写到Flash中。
  一般在系统启动时,STM32会执行主程序中的初始化代码,并开始执行应用程序。
  启动流程:系统上电或复位时,MCU默认启动并从Flash中加载执行代码。
  2. Boot from System Memory (Bootloader模式)描述:在这个模式下,STM32会从系统内存加载并执行代码。系统内存通常指的是STM32芯片内的Bootloader(引导程序),这是一个预先存在的固件,用于实现代码的加载和更新。
  特点:
  该模式通常用于固件的更新或调试。STM32的Bootloader可以通过串口(USART)、USB、CAN等接口接收固件更新并写入Flash中。
  通过Bootloader,可以通过外部设备(如PC)向芯片中烧写新的固件。
  该模式在应用启动时,如果用户未指定其他启动方式,STM32会执行Bootloader,并且通常会检查是否有新的固件需要烧录。
  启动流程:当系统检测到引导程序有效时,它会进入引导模式,接收新的程序并将其写入到Flash中。
  3. Boot from Embedded SRAM (SRAM启动模式)描述:在此模式下,STM32将从内部SRAM(静态随机存取存储器)中加载代码并执行。通常,这种模式用于调试或启动小型程序。
  特点:
  适用于快速调试或运行仅存储在SRAM中的程序代码。
  启动速度较快,因为不需要访问Flash,只需从SRAM读取代码。
  常用于开发过程中,直接从外部设备(如JTAG或SWD接口)代码到SRAM并运行,便于调试。
  启动流程:在复位后,STM32会检查是否有代码需要从SRAM执行。如果系统配置为从SRAM启动,它将直接执行存储在SRAM中的程序。
  选择启动模式
  STM32的启动模式通常是通过复位引脚的电平或特定的引脚(如BOOT0、BOOT1)设置的。通过配置这些引脚的状态,用户可以选择从Flash、System Memory或SRAM中启动程序。
  BOOT0引脚:通过控制BOOT0引脚的状态,可以选择从哪一位置启动代码。
  BOOT0 = 0:从Flash启动。
  BOOT0 = 1:从System Memory启动(即Bootloader模式)。


上一篇:插槽天线的电磁行为
下一篇:寄存器、累加器、暂存器三者之间的区别是什么

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料