STM32一共有三种启动模式,在ST官网上下载的RM0008中,可找到启动相关的配置说明:BOOT0 BOOT1 启动模式 说明0 X 主闪存存储器 主闪存存储器被选为启动区域1 0 系统存储器 系统存储器被选为启动区域1 1 内置SRAM 内置SRAM被选为启动区域以上三…
STM32一共有三种启动模式,在ST官网上下载的RM0008中,可找到启动相关的配置说明:
BOOT0 BOOT1 启动模式 说明
0 X 主闪存存储器 主闪存存储器被选为启动区域
1 0 系统存储器 系统存储器被选为启动区域
1 1 内置SRAM 内置SRAM被选为启动区域
以上三种存储介质:
A 主闪存存储器:芯片内置的Flash
B 系统存储器 :厂家出厂时在芯片内部一块特定的区域预留了一段Bootloader,慢但用于救机
C 内置SRAM:芯片内置的RAM区,就是内存,掉电就丢失
对以上ABC三种方式作详细解释如下:
A 、正常模式
启动条件:BOOT0=0,BOOT1=任意值。
功能:
芯片从用户Flash启动,执行用户编写的程序。
下载方式:通过调试接口(如SWD、JTAG)直接烧录Flash。
常用工具:ST-Link、J-Link、DAP-Link等。
无需修改启动模式,只要调试接口未被用户程序禁用。
特点:
高速、稳定,适合日常开发和量产。
Flash可擦写约10万次,足够大多数应用需求。
B、 救机模式/ISP(系统存储器启动模式)
启动条件:BOOT0=1,BOOT1=0。
功能:
芯片从系统存储器(System Memory)启动,执行出厂预置的BootLoader程序。
该BootLoader支持通过串口(如USART) 进行程序下载(即ISP),常用于以下场景:
用户Flash中的程序损坏,无法正常运行。
未使用调试器(如ST-Link),仅需通过串口更新程序。
特点:
速度较慢(受限于串口速率),通常用于紧急修复或简单烧录。
无需额外工具,仅需串口和上位机软件(如STM32CubeProgrammer)。
C、 SRAM启动模式
启动条件:BOOT0=1,BOOT1=1。
功能:
芯片从内部SRAM启动,程序在RAM中运行。
下载方式:通过调试接口(SWD/JTAG)将代码临时加载到SRAM。
特点:
掉电后程序丢失,适用于快速调试或测试代码片段。
无需擦写Flash,节省寿命。
该方式用的较少,其SRAM一般限制在数十KB,不易调试大型程序
以上,由于SRAM启动模式使用频次低,因此常将BOOT1接地或者当做普通引脚使用,而BOOT0则引出按键。
评论 (0)