单片机boot作用_单片机boot程序的作用 - CSDN
  • 如图所示,一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1, BOOT1为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设,请参考正点原子的一键下载电路,这个电路...

     

     

     

    如图所示,一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1, BOOT1为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设,请参考正点原子的一键下载电路,这个电路比较好,不用繁琐的切换boot电平。

    原理图:

    启动方式:

    1,第一种启动方式是最常用的用户FLASH启动。默认启动方式。

    2, 第二种启动方式是STM32内嵌的SRAM启动。该模式用于调试 第三种启动方式是系统存储器启动方式。STM32中自带的BootLoader就是在这种启动方式中,如果出现程序硬件错误的话可以切换BOOT0/1到该模式下重新烧写Flash即可恢复正常。

     

    首先对BOOT0与BOOT1如何连接及连接方式介绍一下。

    STM32 单片机的BOOT0 和BOOT1 应用原理
    STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:
    1)主闪存存储器= 芯片内置的Flash。这也是正常工作模式
    2)SRAM = 芯片内置的RAM 区,就是内存啦。
    3)系统存储器= 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说
    的ISP 程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。
    在每个STM32 的芯片上都有两个管脚BOOT0 和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复

    位后从哪个区域开始执行程序,见下表:

    要注意的是,一般不使用内置SRAM 启动(BOOT1=1 BOOT0=1),因为SRAM 掉电后数据就丢失。多数情况下
    SRAM 只是在调试时使用,也可以做其他一些用途。如做故障的局部诊断,写一段小程序加载到SRAM 中诊断板上的其他电
    路,或用此方法读写板上的Flash 或EEPROM 等。还可以通过这种方法解除内部Flash 的读写保护,当然解除读写保护的同时
    Flash 的内容也被自动清除,以防止恶意的软件拷贝。
    一般BOOT0 和BOOT1 跳线都跳到0(地)。只是在ISP 下载的情况下,BOOT0=1,BOOT1=0 ,下载完成后,把
    BOOT0 的跳线接回0,也即BOOT0=0,BOOT1=0 。

    STM32F103 配置BOOT0 和BOOT1 直接接地还是经过电阻接地?
    问:我的STM32F103RET6 挂了,原因是BOOT0 和BOOT1 直接接地导致的,很是奇怪,大家有没有遇到啊?
    答:STM32 的硬件设计指导也是建议BOOT0、1 接电阻再接地的。
    BOOT0 和BOOT1 分别通过10k 电阻接地,方便串口下载,下载器控制BOOT0 为高电平,下完后又将BOOT0
    恢复为低,STM32 复位即可进入用户程序。平常上电直接进入用户程序。
    boot0 接10k 电阻接地或者直接接地,都不会引起芯片损毁。

    注意:如果JTAG 相关的引脚被用作普通IO,将无法下载(BOOT0 为低电平的情况下)。解决办法是用串口下载一次程序后再用JLINK 下载,或者将BOOT0 配置成高电平后下载。
     

    展开全文
  • 单片机bootloader程序简介

    千次阅读 2018-01-27 10:21:20
    本文将以STM32单片机为例,简要介绍Bootloader程序的实现过程。 一.基本概念 1.1.IAP IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,...

    本文将以STM32单片机为例,简要介绍Bootloader程序实现过程。

    一.基本概念

    1.1.IAP

    IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。



    展开全文
  • MCU设计之 - 启动模式(Boot0&Boot1)

    千次阅读 2019-10-04 15:37:12
    #前言 在MCU的硬件设计中,常面临着Boot模式的选择;对于大多数的大学生来说,接触到单片机,无非是直接购买开发板或者最小系统来玩,但是当要自己设计一块MCU板子时?...##MCU中,Boot启动方式的作用 ...

    一、前言
           在MCU的硬件设计中,常面临着Boot模式的选择;对于大多数的学生来说,接触到单片机,几乎是直接购买开发板或者最小系统来玩,但是当要自己设计一块MCU板子时?遇到的细节问题多得很!本次将从Boot讲起。
    在这里插入图片描述
    二、MCU中,Boot启动方式的作用
           从官方的Datasheet上可以看到,对Boot模式的描述,如下图在这里插入图片描述
           从Datasheet上可以看出,该MCU支持三种Boot Mode:

    Boot0 Boot1 Modes Decription
    0 x Main Flash 正常模式,运行用户自定义程序的必然选择
    1 0 System Memory 启动Bootloader,宏观来讲就是这个存储器提供了一个USB下载程序,我们启动这个,程序就可以通过USB下载程序到FLASH, 注意是下载到FLASH,如果我们需要运行刚才下载的程序,那么我们必须转化换成正常模式(从FLASH启动),不过可以设计电路实现一键下载。
    1 1 SRAM 用于调试代码,掉电不保存,不常用

    注:一般来说,只用前两种模式,而SRAM模式几乎不同;所以在设计Boot电路时,只需要注意BOOT0的逻辑即可。

    1. 从主闪存存储器启动
           使用JTAG或者SWD烧录程序时的正常模式,程序直接下载到内部 FLASH 中;程序必须在该模式下才能正常工作!!!
    2.从系统存储器启动
           从此ROM启动,即通过usb下载程序;在此ROM里面,一般厂家出厂芯片的时候会在里面烧录一个Bootloader跳转代码(其作用是,将通过USB下载的程序,跳转到Main Flash里面执行),有些开发板就集成了USB一键下载电路。
                  a.正点原子的usb一键下载电路
    在这里插入图片描述
    逻辑分析:
           由上图可知,要下载程序,需控制的一个引脚是BOOT0。再观一键下载电路的原理图,还有一个引脚RESET。 So 如何实现一键下载呢?
    在这里插入图片描述
                                          划重点啦!!!!
    STM32 串口下载到运行必不可少的 3个步骤:
    1. 把 BOOT0 拉高(保持 BOOT1 接入GND);
    2. 手动复位按键进行复位;
    3. 把 BOOT0 接入GND,然后再一次复位。

           由正点原子提供的一键下载电路的原理图可以看出和stm32这两个引脚最有关联的是CH340的DTR#和RTS# 输出引脚。没错,我们就是用一键下载软件通过控制这两个引脚的高低电平,从而控制BOOT0和RESET,进而改变启动模式。(D8是为了防止三极管集电极的VCC3.3会影响到正常的复位。 其实就是利用二极管的单向导通性,尽可能保留)

           a.一开始,MCUISP先让DTR#输出高电平,RTS#输出低电平,满足NPN管正向导通条件,Q2导通后,RESET变为0;再看Q3,也满足导通条件,故BOOT0输出高电平(即此时BOOT0 BOOT1为1 0) ,则进入启动串口下载模式。
           b.下载完程序之后,软件拉高RTS#,DTR#之后再拉低。此时,Q2不导通,RESET输出高电平,BOOT0输出低电平。启动模式变为Flash启动,即用户闪存。

    第1步只是存储了程序,第2步是让程序加载运行。

                未完待续…

    展开全文
  • STM32问题集之BOOT0和BOOT1的作用

    千次阅读 2016-02-23 22:18:42
     在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序。 BOOT1=x BOOT0=0 // 从用户闪存启动,这是正常的工作模式。 BOOT1=0 BOOT0=1 ...

    一、功能及目的

            在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序。

    BOOT1=x BOOT0=0                 //  从用户闪存启动,这是正常的工作模式。

    BOOT1=0 BOOT0=1                 // 从系统存储器启动,这种模式启动的程序功能由厂家设置。

    BOOT1=1 BOOT0=1                 // 从内置SRAM启动,这种模式可以用于调试。


    二、使用方法


    一般BOOT0和BOOT1跳线都跳到0(地)。只是在ISP下载的情况下,BOOT0=1,BOOT1=0,下载完成后,把BOOT0的跳线接回0,也即BOOT0=0,BOOT1=0。


    三、注意说明


    一般不使用内置SRAM启动(BOOT1=1BOOT0=1),因为SRAM掉电后数据就丢失。多数情况下SRAM只是在调试时使用,也可以做其他一些用途。如做故障的局部诊断,写一段小程序加载到SRAM中诊断板上的其他电路,或用此方法读写板上的Flash或EEPROM等。还可以通过这种方法解除内部Flash的读写保护,当然解除读写保护的同时Flash的内容也被自动清除,以防止恶意的软件拷贝。


    参考资料:点击打开链接

    展开全文
  • STM32单片机BOOT0和BOOT1应用原理 STM32单片机BOOT0和BOOT1应用原理 STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM...
  • STM32系列单片机包含3种BOOT设置,对于不经常使用它的工程师,难免需要查阅相关BOOT设置的资料,但是大多数资料介绍拖沓冗长,今天小编总结提炼了一下,给出一张一目了然的BOOT设置表。
  • STM32 单片机BOOT0 和BOOT1 应用原理 STM32 三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存= 芯片内置的Flash。 2)SRAM = 芯片内置的RAM 区,就是内存啦。 3)系统存储器= 芯片内部一块特定的...
  • 在绘制32单片机时,参考别人的原理图对单片机的启动方式BOOT有疑问, 这里写目录标题自己的理解和应用一、三种BOOT模式启动的介绍二、自己开发BOOT模式的选择官方的文档介绍 自己的理解和应用 通过把BOOT0和BOOT1...
  • 工程项目上有时候需要为设备更新应用程序,...我们一般把单片机flash空间划分为3块。 1、BOOT: 储存进行在线升级的驱动程序 2、APP : 储存应用程序 3、配置信息 : 储存需要保存的应用数据 以下是BOOT区以及AP...
  • STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储器 = 芯片内部一块...在每个STM32的芯片上都有两个管脚BOOT0和BOO...
  • BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都...
  • 单片机笔记——Bootloader

    千次阅读 2019-03-25 11:31:29
    最近玩ST32L15xxx系列 下载程序的时候,可以擦除并下载,但是无法运行,报错信息如下: JTAG Warning: T-bit of XPSR is 0 but should be 1.... 网上查了很多的方法,都无法解决;最后重新烧写 BootLoader 之后就可以...
  • 在设计IAP结构的单片机程序时,程序分为boot和app两部分,往往需要分2次烧写,对生产流程来说,是不可行的。那么就需要将boot和app合并为一个文件进行烧写。 解决方法 其实可烧写的文件有很多种,例如elf,hex,...
  • AVR单片机BOOT

    2019-07-06 15:33:13
    BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都...
  • STM32上的BOOT0和BOOT1介绍(整理)

    千次阅读 2019-07-28 11:14:00
    STM32上的BOOT0和BOOT1介绍(整理)STM32设置BOOT0和BOOT1的原因原理三种芯片内置的存储介质功能 STM32设置BOOT0和BOOT1的原因 当你对一款单片机进行软件编程时,可以通过USB线连接电脑和单片机,实现多次下载与...
  • 一、三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。 Main Flash ...
  • 51单片机的bootloader实现方法

    热门讨论 2020-07-30 23:32:39
    关于8051系列单片机用bootloader实现IAP的方法做了详细说明,并提供了一个工程模板
  • 在STM32F10x里,可以通过BOOT[1:0]引脚选择三种不同启动模式。通过设置选择管脚,对应到各种启动模式的不同物理地址将被映像到第0块(启动存储区)。在系统复位后,SYSCLK的第4个上升沿,BOOT管脚的值将被锁存。用户...
  • renesas rl78单片机 bootloader 实现技巧 renesas rl78单片机 BOOT_APP都开启同一个中断 操作.docx 讲解901 子母工程在boot区域和app区域使用同一个中断的操作,并且在boot区域调用app区域的函数过程。 1、boot ...
1 2 3 4 5 ... 20
收藏数 4,805
精华内容 1,922
关键字:

单片机boot作用