STM32复位后可以从三个地方启动程序:Flash、系统存储器和内存。
具体到STM32F051,可以通过配置BOOT1和BOOT0选择引导位置。其中BOOT1是内置Flash中用户配置选项字节的一个位(有些厂商称为熔丝位),可用编程器的工具软件设置(我想知道用keil5怎么设置?);BOOT0是芯片的引脚,通过外部电路确定电平高低。启动模式选择方法见下表:
BOOT1 (bit) | BOOT0 (pin) | 存储位置 | 起始地址 |
---|---|---|---|
x | 0 | 用户 Flash | 0x800 0000 |
1 | 1 | 系统存储器 | 0x1FFF EC00 |
0 | 1 | 内存 | 0x2000 0000 |