0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32三种BOOT模式介绍

MCU开发加油站 来源:未知 作者:李倩 2018-03-30 16:09 次阅读

一、三种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中。

二、开发BOOT模式选择

1、通常使用程序代码存储在主闪存存储器,配置方式:BOOT0=0,BOOT1=X;

2、Flash锁死解决办法:

开发调试过程中,由于某种原因导致内部Flash锁死,无法连接SWD以及Jtag调试,无法读到设备,可以通过修改BOOT模式重新刷写代码。

修改为BOOT0=1,BOOT1=0即可从系统存储器启动,ST出厂时自带Bootloader程序,SWD以及JTAG调试接口都是专用的。重新烧写程序后,可将BOOT模式重新更换到BOOT0=0,BOOT1=X即可正常使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2266

    文章

    10870

    浏览量

    354762
  • Boot
    +关注

    关注

    0

    文章

    149

    浏览量

    35778

原文标题:STM32 BOOT模式配置以及作用

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32三种启动模式

    一、启动模式Boot modes)阅读:STM32中文参考手册_V10.pdf 查看启动配置(Boot modes)。在STM32F10x
    发表于 08-05 07:25

    stm32只有boot0没有boot1

    stm32只有boot0没有boot1,STM32三种Boot
    发表于 08-05 06:20

    STM32三种启动模式

    系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过BOOT[1:0]引脚选择三种不同的启动模式。从待机状态退出模式
    发表于 08-05 08:10

    STM32三种启动模式对应的存储介质

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是:用户闪存: BOOT1=xBOOT0=0芯片内置的Flash。SRAM:BOOT
    发表于 08-05 08:14

    STM32三种启动模式

    01STM32三种启动模式STM32三种启动模式:FLASH启动、SRAM启动和系统存储器启
    发表于 08-18 07:52

    STM32三种Boot模式有何差异呢

    STM32三种Boot模式有何差异呢?如何去验证这种差异呢?
    发表于 11-26 07:15

    什么是Boot模式STM32三种Boot模式有什么差异?

    什么是Boot模式STM32三种Boot模式有什么差异?怎么实现STM汇编程序设计?
    发表于 11-29 06:04

    STM32三种启动模式对应的存储介质

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash。2)SRAM = 芯片内置的RAM区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片
    发表于 12-09 08:14

    STM32三种boot模式介绍

    浅识STM32三种boot模式文章目录浅识STM32三种
    发表于 12-10 07:46

    STM32三种Boot模式及验证资料分享

    STM32三种Boot模式一、BOOT模式简介1. 三种
    发表于 12-10 06:54

    STM32三种Boot模式的差异

    STM32三种BOOT模式介绍.启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,
    发表于 12-20 07:54

    STM32三种BOOT启动方式的设置与应用

    如何在不同的下载方式中选择STM32的启动模式呢?STM32三种BOOT启动方式的设置与应用分别是什么?
    发表于 01-18 07:01

    三种STOP模式的区别是什么

    CUBEIDE环境介绍停止模式(STOP)管脚事件唤醒的实现(HAL库)。STOP模式只是停止代码执行,唤醒(其实是continue的作用)后继续执行后面的代码,而不是重启之后从初始代码开始执行。2. 低功耗
    发表于 02-11 07:45

    STM32三种串口通信协议介绍

    本文首先介绍STM32串口硬件电路及串口编程,其次介绍STM32三种串口通信协议,最后介绍
    发表于 05-25 09:33 3.8w次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>三种</b>串口通信协议<b class='flag-5'>介绍</b>

    STM32三种Boot模式及验证

    STM32三种Boot模式一、BOOT模式简介1. 三种
    发表于 11-26 19:51 89次下载
    <b class='flag-5'>STM32</b>的<b class='flag-5'>三种</b><b class='flag-5'>Boot</b><b class='flag-5'>模式</b>及验证