首页

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

在本教程中,我将向您展示如何在STM32F103C8T6蓝色药丸板上上传USB Bootloader。使用STM32F103C8T6 USB Bootloader,只需使用板载USB端口就可以轻松编程,而不需要任何外部硬件。

重要提示:我强烈建议你们看一下"从stm32f103c8t6开始教程中有许多非常重要的配置,设置,连接和解释。

简介

Arduino UNO(或任何Arduino板)的特别之处在于它的编程方便。只需插入Arduino到您的电脑,并使用Arduino IDE上传程序。这很简单(只要您有正确的驱动程序并选择了正确的USB端口)。

对于STM32F103C8T6蓝药丸板,就不能这么说了。如果你还记得在入门与STM32F103C8T6教程,我已经向你展示了如何上传程序到通用STM32F103C8T6板使用外部USB串行适配器。

使用FTDI适配器上传程序并不是一个困难的过程,但每次你想上传一个程序,你必须切换到编程模式,为了正常的操作,你必须切换回操作模式(在HIGH和LOW之间切换BOOT0引脚)。

如果我们可以利用Blue Pill板上自带的microUSB端口来上传程序,那就简单多了。STM32F103C8T6 USB Bootloader提供了这样的解决方案,您可以简单地通过USB端口将蓝色药丸插入到您的电脑上并上传程序。作为一个额外的好处,您不必摆弄BOOT引脚,因为您可以让它处于操作模式。

组件的要求

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

线路图

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

编程连接STM32

上传STM32F103C8T6 USB Bootloader

为了通过蓝色药丸的USB端口上传程序,需要在MCU上安装USB Bootloader。感谢LeafLabs (Maple Bootloader)和rogerclarkmelbourne的贡献,一系列板的Bootloader回购可用。源代码可以在GitHub上找到链接。

为了使事情更简单,repo由可下载的引导加载程序二进制文件组成(我将在后面的部分对此进行更多解释)。

使连接

第一步是将STM32蓝色药丸板连接到USB到串行适配器,如图所示。此外,BOOT0引脚制造高,即板被放入编程模式。

一旦这是做的,你可以连接USB串口转换器到PC,并检查COM端口。

下载Bootloader二进制文件

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

因此,二进制文件被适当地命名为generic_boot20_pc13.bin”。对于所有基于Blue Pill STM32F103C8T6的通用板,您可以使用这个二进制文件。您可以从这里下载二进制文件GitHub链接。

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

上传USB Bootloader二进制文件到STM32

一旦硬件连接完成并下载了必要的二进制文件,就可以将STM32F103C8T6 USB Bootloader上传到MCU。为此,您可以使用STM32CubeProgrammer。

如果你还记得在入门与STM32F103C8T6指南,我已经从STMicroelectronics官方网站下载了STM32CubeProgrammer软件。如果你遵循了这个教程,那么你已经下载了那个软件,在我的例子中,可以在位置“C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin”中找到。在你的电脑中找一个类似的位置,打开“STM32CubeProgrammer.exe”文件。

STM32CubeProgrammer配置1

在页面右侧,选择"UART作为通信模式,选择合适的COM端口。在我的例子中,它是COM4。将其他所有设置保留为默认设置,然后单击连接。

STM32CubeProgrammer配置2

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

STM32CubeProgrammer配置3

单击浏览并找到之前下载的二进制文件,即generic_boot20_pc13.bin文件。起始地址将自动填充为“0x08000000”。如果不存在,请输入该值。最后,点击“开始编程”选项。软件将开始上传USB Bootloader到MCU的Flash中,你可以看到下面的日志。

STM32CubeProgrammer配置4

一旦二进制文件被上传,一个消息说“文件下载完成”将弹出。单击确定,最后单击右上角的断开连接。至此完成了STM32F103C8T6 USB Bootloader上传到单片机Flash的操作。在这一点上,你可以从蓝色药丸板断开USB到串行适配器,也可以切换回BOOT0引脚到LOW,即操作模式,因为你不需要它。

使用ST Flash Loader工具上传USB Bootloader

代替使用STM32CubeProgrammer软件,您可以使用一个替代工具称为ST Flash Loader。这也是STMicroelectronics官方提供的,你可以从这里下载链接。

您必须登录ST的网站下载工具,一旦您完成下载,解压zip文件的内容,并双击“flash_loader_demo_v2.8.0.exe”文件。这将安装Flash加载器工具。

安装工具后,从这个位置打开它“C:\Program Files (x86)\STMicroelectronics\Software\Flash Loader Demo”通过双击“STMFlashLoader Demo.exe”文件。

ST Flash Loader配置1

在继续之前,确保STM32蓝色药丸板通过USART连接到USB到串行编程器,并且BOOT0引脚设置为高。

如果您已经连接USB到串行适配器到您的电脑,然后从下拉列表中选择正确的COM端口,然后单击下一步。如果一切顺利,您将收到一条消息,表示“Target is readable.”请按“下一步”进行。单击next。

ST Flash Loader Config 2

在下一页中显示目标器的相关信息。单击next。

ST Flash Loader Config 3

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

ST Flash Loader Config 4

当您点击下一步时,工具将开始上传USB Bootloader二进制文件到MCU。

ST Flash Loader Config

如果一切顺利,就会收到“下载操作成功完成”的消息。关闭工具。

ST Flash Loader Config 6

确保BOOT0引脚低,并从STM32板断开USB到USART转换器。

从USB接口编程STM32F103C8T6

安装必要的驱动程序

在继续之前,您需要下载一些驱动程序。首先,下载Arduino的STM32相关工具链接。点击克隆或下载,点击下载ZIP。提取内容并将文件夹重命名为“Arduino_STM32”。复制此文件夹并粘贴到“C:\Users\TrailBlazer\Documents\Arduino\hardware”目录。

注意:在上面的路径中,“TrailBlazer”是我的用户名。换掉你的。如果目录Arduino\硬件不存在,那么创建一个。

以管理员权限打开命令提示符并导航到“C:\Users\TrailBlazer\Documents\Arduino\hardware\Arduino_STM32\drivers\win”目录。请先运行“install_drivers.bat”文件。这将安装Maple DFU驱动程序和Maple串行驱动程序。

STM32 Maple DFU驱动程序

运行“install_STM_COM_drivers.bat”文件安装STM串口驱动。

配置Arduino IDE

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

USB Bootloader Arduino Config

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

上传程序

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

USB Bootloader Arduino Config 2

结论

一个循序渐进的教程上传USB Bootloader为STM32F103C8T6蓝色药丸板和编程使用板上microUSB端口在这里演示。

一个回应

  1. 谢谢拉。最好的和最全面和详细的Arduino为STM32解释。谢谢。
    然而,一个问题:在成功安装驱动程序后,我试图将一个旧的(9年)Maple复杂程序移植到STM32_Smart板(STM32F103C8),这似乎非常类似于蓝色药丸。
    我在清单上找不到“通用STM32F1系列”和它的C8变体(但找到了“通用STM32F103C系列”)。
    另外,我找不到“上传方法Maple DFU Bootloader 2.0”。
    我哪里做错了?是因为我用了另一块黑板吗?

留下一个回复

你的电邮地址不会被公布。

Electronicshub图标
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu