> 文章列表 > STM32程序下载和启动方式

STM32程序下载和启动方式

STM32程序下载和启动方式

目录

  • 1 BOOT引脚配置和下载说明
  • 2 关于串口下载方式
  • 3 关于一按复位就跑代码
  • 4 关于下载调试速度
  • 5 关于三种启动方式
    • 5.1 FLASH启动
    • 5.2 系统存储器器启动
    • 5.3 SRAM启动
  • 6 关于程序的三种下载方式

1 BOOT引脚配置和下载说明

BOOT0 BOOT1 程序运行 ST-Link下载 串口下载 启动说明
x x × × ×
0 x × 用户闪存存储器,也就是FLASH启动
1 0 × × 系统存储器启动,用于串口下载
1 1 × 1 × SRAM启动,用于在SRAM中调试代码

在这里插入图片描述

2 关于串口下载方式

一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1,BOOT1为 0

3 关于一按复位就跑代码

如果想让 STM32 一按复位键就开始跑代码,则需要配置BOOT0为 0,BOOT1为 x(即BOOT1 随便设置)。

4 关于下载调试速度

如果USB数据线比较差,或者使用了杜邦线来连接单片机和下载器,那么可能会出问题,此时,可以通过降低这里的速率来试试。
在这里插入图片描述

5 关于三种启动方式

//本章说明2

5.1 FLASH启动

  就是不用出厂自带的bootloader,直接运行flash里的程序,将flash分为两部分,第一部分充当第二部分的bootloader,第一部分干嘛的呢?第一部分用来接收bin文件并将其写到第二部分中,第二部分才是我们MCU真正要运行的代码。

5.2 系统存储器器启动

  最常用的一种就是系统存储器启动,STM32芯片出厂的时候系统内部存储器自带bootloader程序,负责下载程序的时候对芯片内部的flash进行擦除与编写,ISP下载就是通过串口与bootloader将程序烧写到flash中(科普:MCU的代码是存储在flash当中的,所以一般芯片说有多少k的flash就代表能存储多少代码)。

5.3 SRAM启动

  SRAM叫做静态随机存取存储器,SRAM启动一般是编写一些小程序用来扫描所有I/O口,然后再板上测量信号,借此检测所有的焊接是否正常。这样不必触动Flash中的程序。有一个案例是说买了个板子用ISP下不了程序,发现flash锁了,就使用SRAM启动将flash解锁。

如果还想更细致了解,可以参考这片博文;一探究竟STM32的三种启动模式

6 关于程序的三种下载方式

//本章说明2

一般程序的下载有三种方法:ISP(In System Programing)、ICP(In Circuit Programing)、IAP(In applicating Programing)。

  • ISP一般是通过串口(USB线)下载程序。
  • ICP是通过SWD(几根线)下载程序。
  • IAP是让你的MCU可以通过所有的MCU支持的通讯接口或者方式(TTL、RS232、RS485、I2C,SPI,CAN等等)下载程序。

  1. 该下载方式下,不可以勾选Reset and Run,参见上图。 ↩︎

  2. 该章节照抄了CSDN博主「CRUD搬砖党的神」的原创文章,遵循CC 4.0 BY-SA版权协
    原文链接:https://blog.csdn.net/weixin_43593698/article/details/108303376 ↩︎ ↩︎

广东高尔夫网