[STM32F1] STM32F103可以直接USB烧录程序吗?

[复制链接]
 楼主| 小明的同学 发表于 2024-2-29 16:42 | 显示全部楼层 |阅读模式
STM32F103系列微控制器支持通过USB接口进行烧录程序。这种方式通常称为USB DFU(Device Firmware Upgrade)。您可以使用ST提供的相关工具,如ST-Link Utility或者STM32CubeProgrammer来进行USB DFU烧录。您需要确保您的设备支持USB DFU功能,并且您的程序中集成了对应的DFU固件。通过USB DFU可以方便地将固件更新到STM32F103微控制器中,而无需额外的硬件设备。
 楼主| 小明的同学 发表于 2024-2-29 16:43 | 显示全部楼层
要使用USB DFU方式烧录程序到STM32F103微控制器,您需要按照以下步骤进行硬件连接和配置:

USB连接:

确保您的STM32F103微控制器板上有一个可用的USB接口。
将STM32F103微控制器通过USB线连接到计算机。
BOOT引脚配置:

在进行USB DFU烧录之前,需要将STM32F103微控制器引导到DFU模式。这通常需要将BOOT引脚配置为特定的状态。
对于STM32F103微控制器,BOOT引脚有两个:BOOT0和BOOT1。
BOOT0引脚通常连接到一个按钮或者跳线上,用于手动控制引导模式。
BOOT1引脚通常被连接到固定的电平,以确定引导模式(通常设置为GND以引导到用户程序)。
引导模式选择:

将BOOT0引脚设置为逻辑高电平(VDD)以进入系统引导程序(System Bootloader)模式,或者设置为逻辑低电平(GND)以进入用户程序模式。
在进行USB DFU烧录时,通常将BOOT0引脚设置为逻辑高电平。
USB DFU固件:

在您的STM32F103应用程序中,需要包含USB DFU固件。
这个固件可以通过ST提供的工具或者CubeMX等工具生成,并且需要通过编程的方式加载到STM32F103微控制器的内部Flash中。
连接电源:

确保STM32F103微控制器连接到足够的电源。
 楼主| 小明的同学 发表于 2024-2-29 16:43 | 显示全部楼层
配置硬件主要涉及将BOOT引脚设置为正确的状态以启用DFU模式,并通过USB连接STM32F103微控制器到计算机。然后,您可以使用相应的工具在DFU模式下烧录程序到微控制器中。
问天少年 发表于 2024-2-29 17:00 | 显示全部楼层
STM32F103应用程序中,需要包含USB DFU固件就行。
Henryko 发表于 2024-2-29 22:40 | 显示全部楼层
这个还真没尝试过,只试过虚拟串口
21mengnan 发表于 2024-2-29 22:57 | 显示全部楼层
直接烧录?需要工具吧
Charlene沙 发表于 2024-2-29 23:13 | 显示全部楼层
可以的,其实沁恒就这么做的,感觉更方便一些呢
bestwell 发表于 2024-3-2 08:27 | 显示全部楼层
STM32F103本身并不直接支持通过USB接口烧录程序,因为它的USB接口通常是用来实现USB功能(如USB HID、USB CDC、USB MSC等)而不是用来烧录程序的。
zerorobert 发表于 2024-3-2 11:13 | 显示全部楼层
添加USB bootloader
sdlls 发表于 2024-3-2 20:07 | 显示全部楼层
STM32 Discovery套件提供了硬件上的ST-Link接口,可以直接通过USB与PC连接,并使用STM32CubeProgrammer或STM32CubeIDE进行编程。
uytyu 发表于 2024-3-2 22:34 | 显示全部楼层
STM32F103单片机支持SWD(Single Wire Debug)和JTAG调试接口
xiaoyaodz 发表于 2024-3-3 11:37 | 显示全部楼层
由于USB DFU烧录是通过微控制器的内部Flash进行的,因此烧录前请确保内部Flash有足够的空间来存放新的程序。
uptown 发表于 2024-3-3 13:45 | 显示全部楼层
需要使用一个支持STM32F103的编程器或者ST-Link/V2调试器
belindagraham 发表于 2024-3-3 16:06 | 显示全部楼层
STM32F103微控制器可以直接通过USB烧录程序。
fengm 发表于 2024-3-3 19:51 | 显示全部楼层
STM32F103系列单片机本身不支持直接通过USB烧录程序。
earlmax 发表于 2024-3-3 22:47 | 显示全部楼层
要烧录程序到STM32F103,通常需要使用STMicroelectronics提供的ST-Link接口或者类似的编程接口。
ccook11 发表于 2024-3-4 11:39 | 显示全部楼层
在STM32F103内部添加一个自定义的USB bootloader,如Arduino Bootloader或其他第三方bootloader,这样在Bootloader运行时,STM32可以通过USB模拟成一个USB CDC类设备(虚拟串口)接收新程序。
sdCAD 发表于 2024-3-4 16:14 | 显示全部楼层
通常是通过使用设备的DFU(Device Firmware Update)模式来实现的。
jkl21 发表于 2024-3-5 13:39 | 显示全部楼层
ST-Link是一个两线式的接口,它提供了编程和调试功能。ST-Link可以通过ST-LINK工具或者STM32CubeProgrammer等软件来使用。
zerorobert 发表于 2024-3-9 16:44 | 显示全部楼层
使用STM32的串行接口(如SWD/JTAG)进行编程。这通常需要一个编程器或调试器设备,如ST-LINK V2、ST-SWD、PIC32 USB评估板等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

158

主题

1637

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部