当前位置:   article > 正文

STM32篇三:启动配置_stm32在程序里设定下次启动的位置

stm32在程序里设定下次启动的位置

一、STM32启动流程

系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值被锁定。用户可以通过BOOT1和BOOT0引脚状态,来选择启动模式,并将相应模式首地址映射到启动空间(0x0000 0000)。

二、BOOT引脚说明

在这里插入图片描述
1、主闪存存储器:芯片内置的Flash,用户程序存储空间。
2、SRAM:芯片内置的RAM区,就是内存。在调试状态下可以执行程序。
3、系统存储器:芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。启动的程序功能由厂家设置。

三、总结

STM32上电或者复位后,代码区始终从0x00000000开始,三种启动模式其实就是将各自存储空间的地址映射到0x00000000中。三种启动模式对应不同使用场景:

1、主闪存存储器

FLASH掉电不丢失,用户可以将代码存储到FLASH中。从FLASH启动就可以执行用户烧录好的代码。
主闪存存储器启动为正常的工作模式

2、SRAM

SRAM掉电丢失,在调试状态下,程序直接运行在SRAM中,调试结束后,程序丢失。
SRAM启动主要用于调试

3、系统存储器

系统存储器中保存着芯片厂商的bootloader,主要用于烧录程序。程序烧录完成后想要启动烧录程序,必须将BOOT引脚配置为主闪存存储器启动。
系统存储器启动主要用于程序更新
注意:从系统存储器启动 只能下载程序,不能启动程序

以上内如主要参考《STM32参考手册(英文)》中3.4章节:boot configuration。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/56602
推荐阅读
相关标签
  

闽ICP备14008679号