STM32单片机不同boot模式的本质

STM32的BOOT模式由BOOT1和BOOT0引脚状态决定,影响CM3内核地址空间的使用。系统内存(System memory)存储BootLoader,Main Flash memory存储用户代码,Aliasd memory根据BOOT引脚映射不同存储器。启动时,CPU总是在0x00000000找到中断向量表,执行Reset_Handler。汇编启动文件定义中断向量表并实现Reset_Handler初始化系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32的BOOT模式

STM32每次重启时, 在SYSCLK 的第 4 个上升沿, BOOT 引脚的值将被锁存,系统根据此时锁存的BOOT引脚信号来决定实际的BOOT模式。因此用户可以通过设置 BOOT1 和 BOOT0 引脚的状态,来选择在复位后的BOOT模式。

 

CM3内核地址空间分配

如下图所示,是CM3内核规定的4GB地址空间的划分情况。于是各个芯片设计厂商(如ST,NXP等)在设计CM3内核单片机时,就会遵守这个规定。

BOOT方式与存储器再映射

下图是STM32F103系列的存储器映射方案图。可以发现,在①处的Code空间,ST将【④System memory】、【③Main Flash memory】和【②Aliasd memory】映射在此。

其中【System memory】就是存储单片机BootLoader固件的一块存储器实体,所有的STM32F

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值