当前位置:首页 > 单片机 > 必备技能 > 正文内容

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

ouyang4个月前 (09-23)必备技能275

一、摘要

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

二、STM32启动模式

  如果要使用uart方式对STM32下载程序,必须要先使单片机进入Bootloader下载模式(ISP下载)。STM32有三种启动模式,上电复位后通过对单片机的BOOT0和BOOT1引脚的电平进行控制单片机以那种方式启动。
  首先对BOOT0与BOOT1如何连接及连接方式介绍一下。
STM32 单片机的BOOT0 和BOOT1 应用原理
STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:

  1. 主闪存存储器= 芯片内置的Flash。这也是正常工作模式

  2. SRAM = 芯片内置的RAM 区,就是内存啦。

  3. 系统存储器= 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP 程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。

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

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

这里借鉴了STM32 BOOT0与BOOT1 的应用原理,https://blog.csdn.net/u012166958/article/details/80519740

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

三、下载步骤

1. 准备HEX文件

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

2. 连接单片机与串口模块

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

2-1. 注意:

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

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

3. 单片机进入bootloader模式

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

4.下载工具连接单片机

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

  打开STM32CubeProgrammer工具,设置连接模式为UART,设置串口号,如果没有则点击右侧的刷新图标刷新一下。
STM32Cube
设置好后,确定单片机已进入bootloader模式,点击connect图标连接单片机。
STM32Cube
如果出现上面的报错,则重新检查:

  1. 检查串口号是否正确设置。

  2. 检查单片机是否进入bootloader模式。
    (进入bootloader模式比较明显的现象时原本执行的程序不进行执行)

  3. 串口模块与单片机接线是否正确。

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

5. 装载hex文件

  点击上方Open file图标,在弹出的窗口中选择需要下载的hex文件,点击打开。
STM32CUBE
   打开后,下方则显示待写入单片机flash中的内容,点击右上方Download图标,即开始下载。
STM32CUBE
   等待下载完成,确保BOOT0已经拉到低电平,按一下复位按键,则开始执行下栽进去的程序,同时因单片机退出了bootloader模式,则会与STM32CubeProgrammer断开连接。
STM32CUBE

    扫描二维码至手机访问

    扫描二维码推送至手机访问。

    版权声明:本文由电子科技Blog发布,如需转载请注明出处。

    转载请注明出处:http://oynote.top/?id=351

    分享给朋友:

    相关文章

    STM32程序下载0:STM32CubeProgrammer安装

    STM32程序下载0:STM32CubeProgrammer安装

    摘要这一章节,主要介绍三种常用的程序下载方法,以及STM32新一代下载工具STM32CubeProgrammer的使用方法。STM32常用的三种下载方法主要为:通过ST-link下载。(下载速度快,但...

    STM32开发环境安装

    STM32开发环境安装

    准备STM32开发我一般比较习惯使用STM32CubeMX生成工程文件,在使用Keil进行用户代码编写,使用STM32CubeMX工具生成工程文件非常方便。 安装包下载相关软件在qq群中,需要的可以...

    STM32程序下载1:通过keil-ST-Link方式下载

    STM32程序下载1:通过keil-ST-Link方式下载

    设置keil连接好ST-link调试器与单片机,将ST-link调试器插在电脑上。此时,在设备管理器中应能找到ST-Link设备,如果没有,请检查ST-link是否正常或重新安装ST-Link驱动程序...

    STM32程序下载2:通过STM32CubePro-ST-Link下载

    STM32程序下载2:通过STM32CubePro-ST-Link下载

    摘要上期讲了在keil中借助ST-Link对单片机进行下载,在这一章讲述如何使用STM32CubeProgrammer工具中的ST-Link对单片机进行程序下载。下载程序之前,还需要先准备好需要下载的...

    STM32程序下载4:通过STM32CubePro-USB下载

    STM32程序下载4:通过STM32CubePro-USB下载

    一、摘要  这一张主要介绍使用STM32芯片自带的USB接口下载程序,在前面几章,介绍了通过ST-Link和UART下载,这两种下载方式都需要额外的模块支持才可以下载,而通过USB下载,则不需要这些额...

    发表评论

    访客

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。