STM32程序下载3:通过STM32CubePro-UART下载

摘要

  这一章主要介绍如何使用串口模块对STM32进行程序下载,使用ST-Link下载程序需要购买ST-Link,同样的使用UART下载程序也需要买一个USB转串口模块,而且串口模块相对来说比较便宜。但使用UART方式下载的缺点是下载速度缓慢。
  这里我们依然使用STM32CubeProgrammer这个工具进行下载。
  使用这种方法下载程序,必须有一个前提条件,那就是单片机系统在设计时,有预留出BOOT0引脚的控制电路,在进行下载之前,我们必须要先了解一些必要的知识。

STM32启动模式

  如果要使用uart方式对STM32下载程序,必须要先使单片机进入Bootloader下载模式(ISP下载)。
  STM32有三种启动模式,上电复位后通过对单片机的BOOT0和BOOT1引脚的电平进行控制单片机以什么方式启动。
  STM32 三种启动模式对应的存储介质均是芯片内置的,分别为:

启动模式注释
主闪存存储器芯片内置的Flash。这也是正常工作模式
SRAM芯片内置的RAM 区,就是内存啦。
系统存储器芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP 程序。这个区域的内容在芯片出厂后不能够修改或擦除,即它是一个ROM 区。

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

BOOT1BOOT0启动模式说明
x0主闪存存储器从主闪存存储器启动
01系统存储器从系统存储器启动
11内置SRAM从内置的SRAM启动

这里借鉴了STM32 BOOT0与BOOT1 的应用原理 STM32 BOOT0与BOOT1 的应用原理

  一般单片机控制板的设计上会把BOOT0 和BOOT1 跳线都跳到0(地)。在进行ISP下载时,把BOOT0拉高,上电复位,下载完程序后,再把BOOT0拉低,再次复位后即可开始执行程序。

下载步骤

准备HEX文件

  在下载之前,先要准备好需要下载进入单片机的程序文件,HEX文件的生成方法请转上一章查看。STM32程序下载2:通过STM32CubePro-ST-Link下载,转第一节:准备hex文件。

连接单片机与串口模块

把串口模式与单片机的串口1连接好。

注意:
串口模块的RXD连接单片机的TXD,串口模块的TXD连接单片机的RXD,串口模块的GND与单片机的GND连接。如果单片机需要串口模块供电,先要注意检查单片机系统是3.3V供电还是5V供电,连接相应的电源在单片机系统上。

  将串口模块插在电脑上,此时电脑的设备管理器中应能找到对应的端口号。如下:
因各种串口模块所使用的接口芯片不同,红框中的端口名称也会不同,记下串口号,比如这里我的串口号为com15。
在这里插入图片描述

单片机进入bootloader模式

  前文说过,进入bootloader模式,需要将BOOT0拉低,再复位。
  如果单片机系统上BOOT0使用按键进行控制,那么正确的顺序应该是:先按下BOOT0,保持BOOT0在按住时,在按一下复位键,系统复位时检测到BOOT0为低电平时,则会自动进入Bootloader模式。松开复位键后在松开boot0按键即可。待程序下载完成后,在按一下复位键,程序即可自动开始运行。
  如果单片机系统中,没有设计复位按键,则所有复位操作均需要通过断电在上电进行。

下载工具连接单片机

  这种下载方法需要安装STM32CubeProgrammer下载工具。安装方法转《STM32程序下载0:STM32CubeProgrammer安装》

  打开STM32CubeProgrammer工具,设置连接模式为UART,设置串口号,如果没有则点击右侧的刷新图标刷新一下。
在这里插入图片描述

设置好后,确定单片机已进入bootloader模式,点击connect图标连接单片机。
在这里插入图片描述

如果出现上面的报错,则重新检查:

  1. 检查串口号是否正确设置。
  2. 检查单片机是否进入bootloader模式.(进入bootloader模式比较明显的现象时原本执行的程序不进行执行)
  3. 检查串口模块与单片机接线是否正确。

检查确认完毕后,再次点击连接。显示如下,红框中显示单片机中flash的内容,下方对话框提示读取成功。则代表通信正常。
在这里插入图片描述

装载hex文件

点击上方Open file图标,在弹出的窗口中选择需要下载的hex文件,点击打开。
在这里插入图片描述
打开后,下方则显示待写入单片机flash中的内容,点击右上方Download图标,即开始下载。
在这里插入图片描述

  等待下载完成,确保BOOT0已经拉到低电平,按一下复位按键,则开始执行下载进去的程序,同时因单片机退出了bootloader模式,则会与STM32CubeProgrammer断开连接。
在这里插入图片描述

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌新程序猿~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值