STM32的复位方式有三种:上电复位,硬件复位和软件复位。
当我们在Flash Download中勾选了Reset and Run时,把程序烧写进去芯片后,重启芯片就相当于软件复位。
当我们把电源接上,芯片启动,这种情况属于上电复位。
当我们按下复位键,芯片重启,这种情况属于硬件复位。
产生复位后,在系统时钟第4个上升沿到来的时候,BOOT引脚的值被锁存。
这里的BOOT引脚有两个,BOOT0和BOOT1,它们的电平组合决定了STM32的启动模式。现在看看STM32的启动模式,如下图所示:
STM32有三种不同的启动模式,这三种模式下的储存介质都是芯片内置的,不同的存储介质在芯片内部的地址不一样。主闪存存储器的首地址0x0800 0000;系统存储器的首地址0x1FFF F000;内置SRAM的首地址0x2000 0000。
因为固定的存储器映像,代码区始终都是从0x0000 0000开始执行,数据区始终是从0x2000 0000开始。
从主闪存储存器启动&#x