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固件的一块存储器实体,所有的STM32F103系列单片机在出厂前都会在这里刷一个BootLoader固件,用于通过串口来下载用户程序到Main Flash memory中去,也就是我们说的ISP方式烧录代码
STM32的BOOT模式由BOOT1和BOOT0引脚状态决定,影响CM3内核地址空间的使用。系统内存(System memory)存储BootLoader,Main Flash memory存储用户代码,Aliasd memory根据BOOT引脚映射不同存储器。启动时,CPU总是在0x00000000找到中断向量表,执行Reset_Handler。汇编启动文件定义中断向量表并实现Reset_Handler初始化系统。
订阅专栏 解锁全文
9153

被折叠的 条评论
为什么被折叠?



