STM32中BOOT0和BOOT1的配置方法详解

启动模式

器件复位后, 在 SYSCLK 的第 4 个上升沿锁存 BOOT0 和 BOOT1 的引脚值,用户可通过设置 BOOT1 和 BOOT0 来选择启动模式。

从待机模式唤醒时, CPU 会得新采样 BOOT0 及 BOOT1 的引脚值, 因此在有待机应用的场合需要保持启动模式的设置。

在启动延迟之后, CPU 从地址 0x0000 0000 获取堆栈顶的地址,并从启动存储器的 0x0000 0004 指示的地址开始执行代码。

1、主闪存存储器(内置Flash)

主闪存存储器被映射到启动存储空间 0x0000 0000,  也可以在它原有的地址空间 0x800 0000访问。

用SWD/JTAG下载程序到主闪存存储器,重启后直接从Flash里启动程序。

BOOT0=0,BOOT1=X

2、系统存储器

系统存储器被映射到启动空间 0x0000 0000, 也可以在它原有的地址空间 0x1FFF EC00访问。

ST在系统存储器(ROM)中预置了一段bootLoader,由 ST 在生产时写入,可以通过 USART1 对闪存进行重新编程。

使用串口下载程序:

(1)跳线 BOOT0=0,BOOT1=0;

(2)ISP下载,跳线BOOT0=1,BOOT1=0,按下复位键;

(3)下载完成,跳线BOOT0=0,BOOT1=0,按下复位键;

3、SRAM启动

SRAM 映射到启动空间 0x0000 0000, 也可以在它原有的地址空间0x2000 0000访问。

内置SRAM,掉电后数据丢失。可用于快速的程序调试或故障的局部诊断。

BOOT0=1,BOOT1=1

物联沃分享整理
物联沃-IOTWORD物联网 » STM32中BOOT0和BOOT1的配置方法详解

发表评论