学习了一段时间stm32单片机, 一直没有搞明白这个Boot 引脚的作用,经过找资料,才算搞明白boot设置, 所谓的启动, 就是我们在程序下载完成后, 重新启动芯片时, SYSCLK的第四个上升沿, BOOT引脚值4会被锁存, 用户可以通过设置BOOT引脚的电平来设置 相应的启动模式.

boot模式的配置 (见下表)

BOOT 模式说明
BOOT1 BOOT0 模式名称 说明
X 0

主闪存存储器

Main Flash memory

主闪存存储器被设为启动区域
0 1

系统存储器

System memory

系统存储器被设为启动区域
1 1

内置SRAM

Embedded Memory

内置SRAM被设为启动区域

一.主闪存存储器(Main Flash memory)

即为Flash, 一般情况下我们使用JTAG或者SWD 下载程序就是下载到这个里面, 当启动时候就会从这里开始启动

二.系统存储器(System memory)

这种模式启动程序功能是由厂家设置的,一般来说用的比较少. 芯片内部有一块特定的ROM区域, 在STM32出厂时候, 预置了一段BootLoader, 就是我们常说的ISP程序,  是ROM区域,出厂后无法修改. 这种启动模式主要是用于串口下载程序,在厂家的BootLoader中提供了串口现在的附件, 可以通过这个固件将程序下载到Flash中,但这种方式下载比较麻烦,通常经过三个步骤:

1. BOOT0 = 1,BOOT1 = 0, 按下复位键,这样方可启动BootLoader;

2.在BootLoader的支持下,可以通过串口将程序下载到Flash中;

3.程序下载完成后,有需要将BOOT0 = 0, 手动复位.

三.内置SRAM(Embedded Memory)

即SRAM, 没有程序存储能力, 一般用来程序调试, 如果我们修改的代码比较少, 需要擦除整个Flash, 相对比较耗时间, 可以用这个模式启动代码, 就是放在内存中, 快速调试, 程序调试完成,再将程序下载到SRAM中. 

四.常用的BOOT模式选择,

1. 配置为主闪存模式, BOOT0为0, BOOT1任意

2. 有时候在开发调试过程中由于某些原因导致内部Flash锁死, 无法使用SWD或JTAG调试, 无法读到设备, 可以通过BOOT模式重新 刷写代码,  修改为系统存储器启动,  ST 出厂自带Boot Loader程序, SWD和JTAG都是专用接口, 程序烧写完成后,BOOT模式重新更换到主闪存存储器模式即可

STM32中BOOT模式配置的作用相关推荐

  1. STM32 BOOT模式配置以及作用

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

  2. STM32中ETH驱动配置注意事项dp83848, ip101alf, ip101gr, RTL8201,LAN8720

    1.MII/RMII/SMI接口连接和配置 SMI又称站点管理接口,用于cpu与外置PHY芯片通讯,配置相关参数,包含MDC和MDIO两个管脚(CPU上有对应引脚,当然用普通GPIO口模拟SMI管理也 ...

  3. stm32 spi从模式配置解答

    你是不是和我一样过,被这个spi 从模式 整过,我真是逼了狗.做个分享,希望对你有帮助. 目标:stm32(战舰) 和 stm32(迷你)的spi对传(战舰做从,迷你做主) 结果:对传成功 代码不写, ...

  4. lvs中dr模式配置脚本

    1 dr模式介绍 1.1 lvs的安装 安装具体解释:http://blog.csdn.net/CleverCode/article/details/50586957. 1.2 lvs模式 lvs有三 ...

  5. STM32中stm32f0xx_flash.icf文件的作用详解!

    每个芯片开发商都会针对每款芯片来编写一个.icf文件就是传说中的链接文件.对于基本的应用,这个.icf文件足以满足你的工程需要.但有时也会需要改动,比如当你的项目要添加外部RAM时就要修改一下icf. ...

  6. Android中singleTask模式没起作用!!

    看了这篇文章后终于找到了原因所在http://blog.csdn.net/luoshengyang/article/details/6714543 原来需要给不同的singleTask指定不同的tas ...

  7. STM32的三种Boot模式的差异

    STM32的三种Boot模式的差异 一. STM32启动配置 二. 内置SRAM简介 三. 例程验证 3.1 硬件设置 3.2 创建工程调试版本 3.3 配置分散加载文件 3.5 配置中断向量表 3. ...

  8. 浅谈STM32的三种Boot模式

    文章目录 一.关于BOOT模式的介绍 二.实际例子进行分析 三.分析上电启动流程 四.小结 五.参考资料 一.关于BOOT模式的介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的 ...

  9. 【STM32笔记】低功耗模式配置及避坑汇总

    [STM32笔记]低功耗模式配置及配置汇总 文章总结:(后续更新以相关文章为准) [STM32笔记]低功耗模式.WFI命令等进入不了休眠的可能原因(系统定时器SysTick一直产生中断) [STM32 ...

最新文章

  1. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计
  2. No sleep, no sex, no life,程序员这次忍不了了
  3. JavaScript字符串操作方法大全,包含ES6方法
  4. SAP UI5 get route - local version VS central version
  5. jquery load 事件用法
  6. 95-290-362-源码-内存管理-Buffer-LocalBufferPool
  7. 一个函数要使用另一个函数中的数据
  8. 交叉编译iptables1.4.12的问题
  9. oracle 归档日志激增,一次归档日志激增的分析.
  10. VS2010 自动关闭的问题解决方法
  11. Unity脚本的生命周期
  12. 洛谷P4012 深海机器人问题(费用流)
  13. mysql 3.23.49,将旧的3.23.49 MySQL数据库转移到5.0.51 MySQL数据库 – 用ANSI和UTF-8编码...
  14. 集成电路工艺7nm 5nm 2nm
  15. OPNsense用户手册中文版
  16. C++实现cmd界面简单贪吃蛇游戏
  17. 腾讯云云服务器的地域和可用区有哪些?已购买的腾讯云服务器可以更换地域吗?
  18. uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程
  19. muduo base库学习笔记 10——日志类封装详解
  20. html制作网站 知乎,做短视频运营看那些网站(推荐这些短视频素材网站)

热门文章

  1. 没有盖兹 微软会更好?
  2. 一文读懂BLOB算法
  3. Blob和Clob类型
  4. 如何查找某个物种的基因组大小
  5. 石墨笔记,Onenote和Effie哪个适合SMZDM开箱评论者?
  6. PDF怎么添加页码?PDF添加页码的方法
  7. sparkSQL1.1入门
  8. Linux jar包在screen开机自启
  9. L2-027 名人堂与代金券 (25point(s))(C语言)
  10. 用 matplotlib 绘制 3D 时间序列动态图