文章目录

  • 摘要
  • 下载准备
  • 连接单片机与电脑
  • 准备hex文件
  • 下载程序
  • 单片机进入bootloader模式
  • 下载工具连接单片机
  • 装载hex文件


摘要

  这一章主要介绍使用STM32芯片自带的USB接口下载程序,在前面几章,介绍了通过ST-Link和UART下载,这两种下载方式都需要额外的模块支持才可以下载,而通过USB下载,则不需要这些额外的模块,但是前提是,STM32系统电路中已经预留了USB电路,可以直接使用usb数据线连接单片机系统与电脑,用以下载程序。

下载准备

连接单片机与电脑

  如果单片机系统中预留了USB接口,则使用相应的数据线连接电脑与单片机系统,使单片机进入BootLoader模式后,电脑的设备管理器中,应弹出STM32 BOOTLOADER设备。关于Bootloader模式相关内容请转前一章了解详情。STM32程序下载3:通过STM32CubePro-UART下载,转 STM32启动模式章节 查看关于启动模式说明。
  这种下载方法需要安装STM32CubeProgrammer下载工具。安装方法转 STM32程序下载0:STM32CubeProgrammer安装

准备hex文件

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

下载程序

单片机进入bootloader模式

  进入bootloader模式,需要将BOOT0拉低,再复位。

  如果单片机系统上BOOT0使用按键进行控制,那么正确的顺序应该是:先按下BOOT0,保持BOOT0在按住时,在按一下复位键,系统复位时检测到BOOT0为低电平时,则会自动进入Bootloader模式。松开复位键后在松开boot0按键即可。待程序下载完成后,在按一下复位键,程序即可自动开始运行。

  如果单片机系统中,没有设计复位按键,则所有复位操作均需要通过断电在上电进行。

  单片机进入bootloader模式后,设备管理器中会显示STM32 BOOTLOADER设备,则代表单片机以做好下载程序的准备。

stm32cubemx为什么下载不了固件宝_设备管理

下载工具连接单片机

  打开STM32CubeProgrammer下载工具,点击右上角蓝色图标选择连接方式为USB,随后选择连接端口,一般会显示一个USB设备,如果显示No DFU Detected则点击旁边的刷新图标,如果刷新后依然没有USB设备,则重新检查单片机是否进入Bootloader模式,并且检查设备管理器中是否存在STM32 BOOTLOADER设备。

stm32cubemx为什么下载不了固件宝_设备管理_02

  配置好端口后,点击旁边的蓝色图标connect,连接单片机。软件读出单片机Flash中的数据,右下角显示单片机信息,并且下载面日志框输出连接成功语句。

stm32cubemx为什么下载不了固件宝_单片机_03

装载hex文件

点击上方 “+” 图标,选择Open file,在弹出的窗口中选择需要下载的hex文件,点击打开。

stm32cubemx为什么下载不了固件宝_设备管理_04


stm32cubemx为什么下载不了固件宝_设备管理_05

打开后,Open file窗口则显示待写入单片机flash中的内容,点击右上方Download图标,即开始下载。

stm32cubemx为什么下载不了固件宝_下载工具_06

  等待下载完成,窗口弹出file download complete,表示下载完成,确保BOOT0已经拉到低电平,按一下复位按键,则开始执行下栽进去的程序,同时因单片机退出了bootloader模式,则会与STM32CubeProgrammer断开连接。

stm32cubemx为什么下载不了固件宝_下载工具_07

单片机复位后开始执行程序,退出bootloader模式,断开与STM32CubeProgrammer的连接。

stm32cubemx为什么下载不了固件宝_设备管理_08