STM32 BOOT模式配置以及作用

所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。

Main Flash memory
是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。
System memory
从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用的比较少。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,
出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。但是这个下载方式需要以下步骤:
Step1:将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader
Step2:最后在BootLoader的帮助下,通过串口下载程序到Flash中
Step3:程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动可以看到, 利用串口下载程序还是比较的麻烦, 需要跳帽跳来跳去的,非常的不注重用户体验。
Embedded Memory
内置SRAM,既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。假如我只修改了代码中一个小小的地方,然后就需要重新擦除整个Flash,比较的费时,可以考虑从这个模式启动代码(也就是STM32的内存中),用于快速的程序调试,等程序调试完成后,在将程序下载到SRAM中。

时间: 2024-10-16 06:19:42

STM32 BOOT模式配置以及作用的相关文章

STM32端口模式配置——上拉、下拉、模拟、浮空输入;推挽、开漏、复用输出

1.上拉输入:上拉就是把电位拉高,比如拉到Vcc.上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!强弱只是上拉电阻的阻值不同,没有什么严格区分. 2.下拉输入:就是把电压拉低,拉到GND.与上拉原理相似. 3.浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平.由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平.一般实际运用时,引脚不建议悬空,易受干扰. 通俗讲就是让管脚什么都不接,浮空着. 4.模拟输入:模拟输入是指传统方式的

Spring Boot自动配置原理(转)

第3章 Spring Boot自动配置原理 3.1 SpringBoot的核心组件模块 首先,我们来简单统计一下SpringBoot核心工程的源码java文件数量: 我们cd到spring-boot-autoconfigure工程根目录下.执行 $ tree | grep -c .java$ 模块 java文件数 spring-boot 551 spring-boot-actuator 423 spring-boot-autoconfigure 783 spring-boot-devtools

Springboot 系列(三)Spring Boot 自动配置

注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 关于配置文件可以配置的内容,在 Spring Boot 官方网站已经提供了完整了配置示例和解释. 可以这么说,Spring Boot 的一大精髓就是自动配置,为开发省去了大量的配置时间,可以更快的融入业务逻辑的开发,那么自动配置是怎么实现的呢? 1. @SpringBootApplication 跟着 Spring Boot 的启动类的注解

玩转spring boot——properties配置

前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连接,若有一处配错或遗漏,就会带来不可挽回的损失.正因为这样,spring boot给出了非常理想的解决方案——application.properties.见application-properties的官方文档:http://docs.spring.io/spring-boot/docs/curr

OpenSessionInViewFilter 的配置及作用    

OpenSessionInViewFilter 的配置及作用 Spring为我们解决Hibernate的Session的关闭与开启问题. Hibernate 允许对关联对象.属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行.如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate Session 已经关闭,这些导致延迟加载数据的访问异常

apache+inotify-tools+keepalived+lvs-DR模式配置高可用负载均衡集群

环境:虚拟机VMware workstation 9 操作系统:Redhat 5.6 i386 一.keepalived+LVS-DR模式配置高可用负载均衡 拓扑如下: 二.服务器IP配置信息 四台服务器均有VMware虚拟机实现,两台HA主机.两台web服务器.网络方式都设置为NAT模式 1.master:192.168.80.145 2.slaver:192.168.80.137 3.web1:192.168.80.144 4.web2:192.168.80.134 5.VIP:192.16

SSL VPN的胖客户端模式配置操作全过程

拓扑图如下所示:ASA防火墙作为企业内部的一台出口网关兼硬件防火墙设备,内部服务器server 2008服务器提供web服务. 中间是模拟ISP运行商,右边是作为公网上的一台路由器,下面是公网上面的一台普通客户机,这里使用的是XP系统. 首先如果是GNS3模拟器SW1需要关闭路由功能. ISP运营商还是只需要配置IP地址即可(过程略). R3上面作为公网上的一台出口网关路由器,配置DHCP地址分配和NAT地址转换功能.如下所示: R3(config)#int fa0/0 R3(config-if

STM32启动模式及API(转)

源:STM32启动模式及API 我们玩ARM9,一般都是在内存里调试程序,速度飞快.STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的. 我们也可以在开发STM32时,在内存中调试程序. { STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用于启动选择.BOOT1=x  BOOT0=0  从用户闪存启动,这是正常的工作模式

微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决

微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决 echostr校验失败,请您检查是否正确解密并输出明文echostr 异常java.security.InvalidKeyException:illegal Key Size 也就是echostr校验失败,请您检查是否正确解密并输出明文echostr这个错误 企业微信登陆地址http://qy.weixin.qq.com/ 配置成功以后 Servlet public void doGet(Htt