在芯片中,可通过设置 BOOT0 引脚电平状态及 nBOOT1 位的配置选择三种不同的启动模式,如下表
所示:
用户通过设置 BOOT0 引脚值和 nBOOT1 位来选择三种启动模式,在器件复位后,芯片根据
nBOOT1 位和 BOOT0 的引脚值,从而确定启动模式。其中在待机模式中需要保持启动模式引脚的设置
值,因为每一次从待机模式唤醒时,CPU 会重新采样 nBOOT1 和 BOOT0 的值来重新确定启动模式。
器件复位后,CPU 先从 0x0000 0000 地址开始获取栈顶值,再从 0x0000 0004 地址获取引导代码
的基地址,并且从基地址开始执行程序。
启动模式主要分为三种: 主闪存存储器,系统存储器和内置 SRAM。
主闪存存储器启动(BOOT0=0):主闪存存储器的起始地址是 0x0800 0000,当其被选为启动模式时,
被映射到启动存储空间(0x0000 0000),但是闪存存储器的内容依旧可以从起始地址(0x0800 0000)访
问,即当主闪存存储器被选为启动模式,启动地址和起始地址都可以访问闪存存储器。
系统存储器启动(nBOOT1= 1 & BOOT0 = 1):系统存储器的起始地址是 0x1FFF F400,当其被选
为启动模式时,被映射到启动存储空间(0x0000 0000),但是系统存储器的内容依旧可以从起始地址
(0x1FFF F400)访问,即当系统存储器被选为启动模式,启动地址和起始地址都可以访问系统存储器。
内置 SRAM 启动(nBOOT1= 0 & BOOT0 = 1):内置 SRAM 的起始地址是 0x2000 0000,当其被
选为启动模式时,被映射到启动存储空间(0x0000 0000),但是内置 SRAM 的内容依旧可以从起始地址
0x2000 0000)访问,即当内置 SRAM 被选为启动模式,启动地址和起始地址都可以访问内置 SRAM。
|