1、关于 STM32 的启动模式


   系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过BOOT[1:0]引脚选择三种不同的启动模式。

   从待机状态退出模式时,BOOT引脚的值将被重新锁存。因此在待机模式下BOOT引脚应该保持为需要的启动配置。在启动延迟之后,CPU从地址0x0000获取堆栈顶的地址,并从启动存储器的0x0004指示的地址开始执行代码。

   因为固定的存储器映像,代码区始终从地址0x00开始(通过ICode和DCode总线访问),而数据区(SRAM)始终从地址0x20000000 开始(通过系统总线访问)。Cortex-M3的CPU始终从ICode总线获取复位向量,即启动仅适合从代码区开始(典型的从Flash启动)。STM32F10xx微控制器实现了一个特殊的机制,系统可以不仅仅从Flash存储器或系统存储器启动,还可以从内置SRAM启动。

   根据选定的启动模式,主闪存存储器、系统存储器或SRAM可以按照以下方式访问

1、从主闪存存储器启动 :主闪存存储器被映射到启动空间(0x00),但仍然能够在它原有的地址(0x08000000)访

   问它,即闪存存储器的内容可以在两个地址区域访问它,0x00000000 或者 0x08000000.

2、从系统存储器启动: 系统存储器被映射到启动空间(0x0000),但仍然能够在它原有的地址(互联型产品原有地址

   为 0x1FFFB000, 其他产品原有地址为0x1FFFF000)访问它。

3、从内置SRAM启动 :只能在0x20000000开始的地址区访问SRAM, 程序掉电丢失。

注意 :当从内置 SRAM启动,在应用程序的初始化代码中必须使用 NVIC 的异常表和偏移寄存器重新映射向量表至SRAM 中。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值