参考手册里有说明
BOOT0 和 BOOT1 用于设置 STM32 的启动方式:一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1,BOOT1为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以。
通过BOOT0和BOOT1选择从哪里启动,是从FLASH里启动还是SRAM启动。
一般单片机的启动都是从flash的某个段开始启动的。
STM32为了应对不同的启动方式设置了boot,根据boot0,boot1的配置,可以在flash不同区域或者SRAM中启动,可以配置为正常启动,通过串口或USB ISP烧录启动,或者SRAM启动用于调试。