如何上传STM32F103C8T6 USB引导加载程序?程序STM32蓝色药丸通过USB

在本教程中,我将向您展示如何将USB引导程序上传到STM32F103C8T6蓝色药丸板上。使用STM32F103C8T6 USB启动加载程序,您只需使用板载USB端口即可轻松编程蓝色药丸板,而无需任何外部硬件。

重要的提示:我强烈建议您通过“开始使用STM32F103C8T6”教程在进一步进行之前,因为有很多配置,设置,连接和解释非常重要。

介绍

使Arduino Uno(或任何Arduino董事会)特别的一件事是其易于编程。只需将Arduino插入您的PC,然后使用Arduino IDE上传程序。就是这样(前提是您拥有合适的驱动程序并选择了正确的USB端口)。

对于STM32F103C8T6蓝色药板,不能说同样的话。如果您还记得在开始使用STM32F103C8T6教程,我向您展示了如何使用外部USB到串行适配器上传程序到通用的STM32F103C8T6板。

使用FTDI适配器上传程序并不是一个困难的过程,而是每次要上传程序时,您都会切换到编程模式,并且为了正常操作,您必须切换回操作模式(切换boot00销钉之间的别针)。

如果我们只能利用蓝色药丸板上的机上microusb端口来上传程序,那就更简单了。STM32F103C8T6 USB引导程序提供了这样的解决方案,您可以通过USB端口将蓝色药丸插入PC并上传程序。作为另外的好处,您无需放松启动引脚,因为您可以将其留在操作模式下。

需要组件

  • STM32F103C8T6蓝色药板
  • USB到串行转换器(例如FTDI程序员)
  • 连接电线
  • 1.8kΩ电阻(可选)
  • 个人电脑

电路原理图

STM32蓝色药丸和USB与串行转换器之间的连接类似于我在入门指南中所描述的。以下是连接的参考图像。

编程STM32的连接

上传STM32F103C8T6 USB引导加载程序

为了通过蓝色药丸上的USB端口上传程序,您需要在MCU上安装USB引导程序。多亏了Leflabs(Maple Bootloader)和Rogerclarkmelbourne的贡献,一系列董事会可以使用Bootloaders的存储店。github中可用的源代码这个关联。

为了使事情变得更容易,该存储库由引导加载程序的可下载二进制文件组成(我将在后面的部分中对此进行更多的解释)。

建立连接

第一步是将STM32蓝色药丸板连接到USB与串行适配器,如上图所示。此外,启动0引脚使板升高,即板处于编程模式。

完成此操作后,您可以将USB连接到PC的串行转换器并检查COM端口。

下载bootloader二进制

如前所述,该存储库由不同类型的STM32板的不同二进制文件组成。所有这些二进制文件均根据用户LED连接进行分类。例如,我们知道您的蓝色药丸上的用户LED已连接到端口C的引脚13,即PC13。

因此,二进制被适当地命名为“generic_boot20_pc13.bin”。对于所有基于蓝色的蓝色药丸STM32F103C8T6板,您可以使用此二进制文件。您可以从中下载二进制这个github链接。

如果您有不同的 /自定义板。然后从GitHub存储库中提供的二进制文件列表中下载适当的二进制文件。

将USB引导程序二进制上传到STM32

建立硬件连接并下载了必要的二进制文件后,您就可以将STM32F103C8T6 USB Bootloader上传到MCU。为此,您可以使用STM32CubRogrammer。

如果您还记得在开始使用STM32F103C8T6”指南,我从STMicroelectronics的官方网站下载了STM32 CubeProgrammer软件。如果您遵循该教程,那么您已经下载了该软件,在我的情况下,可以在“ C:\ Program Files \ stmicroelectronics \ STM32Cube \ STM32CubRogrammer \ bin”位置找到该软件。转到PC中的类似位置,然后打开“ STM32CubeProgrammer.exe”文件。

STM32 CubeProgrammer config 1

在页面的右侧,选择“uart作为通信模式,然后选择适当的COM端口。就我而言,是com4。将其他所有内容留在默认设置中,然后单击Connect。

STM32 CubeProgrammer配置2

连接成功后,该软件将读取Flash的内容并显示相同的内容。接下来,单击显示下载箭头的符号。这将打开“擦除和编程”选项。

STM32 CubeProgrammer config 3

单击浏览并找到先前下载的二进制文件,即generic_boot20_pc13.bin文件。开始地址将自动使用“ 0x08000000”填充。如果没有,请输入此值。最后,单击“开始编程”选项。该软件将开始将USB引导程序上传到MCU的Flash,您可以看到下面的日志。

STM32 CubeProgrammer config 4

上传二进制文件后,一条消息说“文件下载完整”将弹出。单击确定,最后单击右上角的断开连接。这将完成将STM32F103C8T6 USB引导程序上传到MCU的闪光灯。在这一点上,您可以将USB连接到蓝色药丸板上的串行适配器,还可以将boot0引脚切换到低点,即操作模式,因为您不需要。

使用ST Flash加载器工具上传USB Bootloader

您可以使用称为ST Flash Loader的替代工具,而不是使用STM32CubRogrammer软件。这也由Stmicroelectronics正式提供,您可以从中下载这个关联。

您必须使用ST的网站登录才能下载该工具,然后完成下载后,提取ZIP文件的内容,然后双击“ Flash_loader_demo_v2.8.0.0.exe”文件。这将安装Flash加载器工具。

安装工具后,通过双击“ stmflashloader demo.exe”文件,从此位置“ C:\ Program Files(X86)\ STMicroelectronics \ Software \ Software \ Software \ Software \ Software \ flash Loader Demo”打开。

St Flash Loader配置1

在进行进一步之前,请确保通过USART Connections将STM32蓝色药丸板连接到USB,并将Boot0引脚变高。

如果您已经将USB连接到PC的串行适配器,请从下拉列表中选择正确的COM端口,然后单击下一步。如果一切顺利,您将收到一条消息,说“目标是可读的。请点击“下一步”继续。单击下一步。

St Flash Loader配置2

在下一页中,显示相关信息。单击下一步。

St Flash Loader配置3

在下一页中,选择选项“下载到设备”,然后选择下载的二进制文件。之后,开始地址将自动填充为8000000。

St Flash Loader配置4

单击下一步时,该工具将开始将USB引导程序二进制上传到MCU。

St Flash Loader配置5

如果一切顺利,那么您会收到一条消息“成功下载操作”。您可以关闭工具。

St Flash Loader配置6

确保启动0引脚使USB与STM32板的USART转换器断开连接。

从USB端口编程STM32F103C8T6

安装必要的驱动程序

在进行进一步之前,您需要下载一些驱动程序。首先,从中下载Arduino的STM32相关工具这个关联。单击克隆或下载,然后单击下载zip。提取内容并将文件夹重命名为“ arduino_stm32”。复制此文件夹并将其粘贴到“ C:\ Users \ frailblazer \ Documents \ arduino \ hardware”目录中。

笔记:在上述路径中,“开拓者”是我的用户名。用你的。如果目录Arduino \硬件目录不存在,请创建一个。

打开命令提示符,并带有Admin权利,并导航到目录“ C:\ Users \ TrailBlazer \ Documents \ arduino \ ardware \ ardware \ arduino_stm32 \ drivers \ drivers \ win”。首先运行“ install_drivers.bat”文件。这将安装Maple DFU驱动程序和Maple串行驱动程序。

STM32 Maple DFU驱动程序

另外,运行“ install_stm_com_com_drivers.bat”文件以安装STM串行驱动程序。

配置Arduino IDE

如果您的Arduino IDE已经打开,请将其关闭,请通过microUSB电缆将STM32蓝色药丸连接到PC,然后重新启动IDE。在Arduino IDE中,转到工具,对板选择器进行必要的更改,如“入门到STM32F103C8T6”指南中所述。

STM32F103C8T6 USB引导加载程序Arduino配置1

但是,您需要将上传方法选项更改为“ Maple DFU Bootloader 2.0”。其余的设置将保持不变。

上传程序

作为示例程序,为STM32F103C8T6蓝色药丸板编写一个简单的眨眼草图。确保选择LED作为PC13,然后单击上传。该程序将通过STM32板的USB端口上传。

STM32F103C8T6 USB引导加载程序Arduino配置2

结论

此处显示了有关在STM32F103C8T6上载USB引导程序蓝色药丸板的逐步教程,并在此处展示了使用机上microUSB端口对其进行编程。

一个回应

  1. 谢谢拉维。STM32解释的最好,最全面,最详细的Arduino。谢谢。
    但是,一个问题:成功安装驱动程序后,我试图将旧(9年)的枫木复杂程序移植到STM32_SMART板(STM32F103C8),这似乎与蓝色药丸非常相似。
    我在列表中找不到“通用STM32F1系列”及其C8变体(但找到了“通用STM32F103C系列”)。
    此外,我找不到“上传方法Maple DFU Bootloader 2.0”。
    我究竟做错了什么?这是因为我使用了不同的董事会吗?

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map