首页 > 其他分享 >STM32的3种启动模式

STM32的3种启动模式

时间:2024-03-09 22:24:34浏览次数:23  
标签:启动 Flash 程序 模式 STM32 下载

STM32的3种启动模式

STM32启动模式介绍

image-20240309220412175

各种模式介绍

  • boot0 = 0

Flash memory启动方式

启动地址:0x08000000 是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。基本上都是采用这种模式。

  • boot0 = 1; boot1 = 0

System memory启动方式

启动地址:0x1FFF0000从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用的比较少。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader 中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。但是这个下载方式需要以下步骤:

1、将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader
2、最后在BootLoader的帮助下,通过串口下载程序到Flash中
3、程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动可以看到, 利用串口下载程序还是比较的麻烦,需要跳帽跳来跳去的,非常的不注重用户体验。

  • boot0 = 1; boot1 = 1

SRAM启动方式

启动地址:0x20000000 内置SRAM,既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。假如我只修改了代码中一个小小的 地方,然后就需要重新擦除整个Flash,比较的费时,可以考虑从这个模式启动代码(也就是STM32的内存中),用于快速的程序调试,等程序调试完成后,在将程序下载到SRAM中。

STM32启动过程

image-20240309220828520

  • 启动过程图解

image-20240309220924586

参考文章链接:https://blog.csdn.net/qq_39400113/article/details/116051401

标签:启动,Flash,程序,模式,STM32,下载
From: https://www.cnblogs.com/hnu-hua/p/18063485

相关文章

  • Maxwell启动问题java.lang.RuntimeException: error: unhandled character set ‘utf8
    使用Maxwell碰到问题,查看日志后显示大概是这个问题java.lang.RuntimeException:error:unhandledcharacterset‘utf8mb3‘。网上查找,看了经验贴https://blog.csdn.net/weixin_44943845/article/details/126860077,知道原因是这个:但是不太想重新下载源码进行打包,于是决定按......
  • Mac上安装主从模式&哨兵模式Redis(5.0.9)
    1、服务节点说明Master节点ip和端口为:127.0.0.1:6380Slave节点ip和端口为:127.0.0.1:6381;127.0.0.1:6382哨兵节点说明:127.0.0.1:26380;127.0.0.1:26381;127.0.0.1:26382Redis哨兵集群拓扑图.png2、配置主从模式2.1、redis修改配置2.1.1、Master的redis.conf设置哪些IP......
  • 神州笔记本 win11 节能模式 供电不足 自动关机
    刚刚买了一个神州笔记本没几天,用着用着就出现问题了。本人使用电脑有个极为不好的习惯,那就是会一次性打开特别多的应用,然后不关,一直留着,这个习惯虽然不好但也是一直没有啥问题的,不过最近换了个新的笔记本就出现了问题。神州笔记本开启省电模式:之所以开这个模式其实并不是为......
  • 06_原型模式
    原型模式是一种创建型设计模式,它通过克隆现有对象来创建新对象,而不是通过实例化类来创建。原型模式允许我们创建具有相同属性和方法的对象集合,从而减少了对象的创建成本。在原型模式中,我们首先创建一个原始对象,然后通过克隆该对象来创建新的对象。这样,我们可以在不重新实例化类的......
  • 05_建造者模式
    建造者模式是一种创建型设计模式,旨在让你能够创建复杂对象,而无需直接在应用程序中指定其具体类型。通过建造者模式,你可以将对象的构建过程和表示分离,从而使相同的构建过程可以创建不同表示形式的对象。这种模式通常包括以下几个关键组件:产品(Product):最终要创建的复杂对象。抽......
  • Go语言实现设计模式之命令模式
    摘要:命令模式是一种常用的设计模式,它将请求封装成对象,从而使请求的发送者和接收者解耦。本文将详细介绍命令模式的概念和原理,并使用Go语言实现一个示例,以帮助读者更好地理解该设计模式的应用。引言:在软件开发中,命令模式是一种常见的设计模式,它可以帮助我们将请求的发送者和接收......
  • 通达信牛股启动信号,牛股启动源码
    {通达信牛股启动信号,牛股启动源码}GUP1:=(CLOSE-LLV(LOW,20))/(HHV(HIGH,20)-LLV(LOW,20))*100;GUP2:=SMA(SMA(GUP1,3,1),3,1)/28.57;GUP3:=EMA(GUP2,5);GUP4:=3*GUP2-2*GUP3;GUP5:=CROSS(GUP4,GUP2)ANDGUP2<2.1ANDCLOSE>OPEN;STICKLINE(GUP5,82,0,0.005,0),colorre......
  • Pod实现机制与设计模式
    每个Pod都有一个特殊的被称为"根容器"的Pause容器(Pause容器,又叫Infrastructure容器)。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户业务容器。 众所周知,容器之间是通过Namespace隔离的,Pod要想解决上述应用场景,那么......
  • 通达信黄金启动指标公式源码副图
    {通达信黄金启动指标公式源码副图}启动买入:=DYNAINFO(4)>0ANDHHV(HIGH,10)/LLV(LOW,10)<1.25ANDREF(CLOSE,1)<(LLV(LOW,15)+(HHV(HIGH,15)-LLV(LOW,15))*0.85)ANDCLOSE>OPENANDCLOSE>=HHV(HIGH,10);AA:=Ema(C,5),COLORBLUE;BB:=EMA(C,10),COLORBLUE;CC:=EMA(C,1......
  • STM32硬件IIC使用
    概述虽然STM32的硬件IIC据说有设计缺陷,但是经过我的实践,至少STM32F103的硬件IIC是没问题的。这里给出STM32的硬件IIC的使用以及编程思路。1.STM32硬件IIC引脚在这里给出STM32F103的硬件IIC引脚,方便查阅使用2.STM32硬件IIC使用流程STM32的硬件IIC我认为是非常具有借鉴意义的,......