STM32的BOOT0 BOOT1的选择

在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:

BOOT1=x   BOOT0=0   从用户闪存启动,这是正常的工作模式。

BOOT1=0   BOOT0=1   从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1   BOOT0=1   从内置SRAM启动,这种模式可以用于调试。

一般不使用内置SRAM启动(BOOT1=1 BOOT0=1),因为SRAM掉电后数据就丢失。

用JTAG/SWD烧录程序时,BOOT1要等于0,BOOT0都可以,但是在程序中,msp.c文件中最好要设定

  __HAL_AFIO_REMAP_SWJ_ENABLE();

用串口烧录时,BOOT0要等于1,BOOT1等于0。

如果想让烧录完复位程序,则参考正点原子的一键下载电路,配置BOOT0等于0,BOOT1随便设。

一般BOOT0和BOOT1下拉接地。采用JTAG/SWD烧录方式。

原文地址:https://www.cnblogs.com/zjx123/p/12870082.html