Usb 允许最终用户更新mikroe stm32f207vg的固件

Usb 允许最终用户更新mikroe stm32f207vg的固件,usb,updates,firmware,stm32,dfu,Usb,Updates,Firmware,Stm32,Dfu,我使用mikroe开发板stm32f207vg开发了一个嵌入式设备。我是新来的,所以请容忍我。我的问题是,如果以后(公开发布后)我希望我的设备的最终用户更新设备软件,我如何启用此功能。例如,当我改进设备软件并希望用户使用USB端口使用新的.hex文件更新设备时。我猜我需要做一个桌面应用程序。我应该让应用程序做什么?在开发过程中,我使用Mikroe引导加载程序将十六进制文件发送/安装到我的设备。我想做一个类似的应用程序。我在看DFU协议。Stm有一个解冻演示应用程序。此应用程序用于此目的。我希望创

我使用mikroe开发板stm32f207vg开发了一个嵌入式设备。我是新来的,所以请容忍我。我的问题是,如果以后(公开发布后)我希望我的设备的最终用户更新设备软件,我如何启用此功能。例如,当我改进设备软件并希望用户使用USB端口使用新的.hex文件更新设备时。我猜我需要做一个桌面应用程序。我应该让应用程序做什么?在开发过程中,我使用Mikroe引导加载程序将十六进制文件发送/安装到我的设备。我想做一个类似的应用程序。我在看DFU协议。Stm有一个解冻演示应用程序。此应用程序用于此目的。我希望创建我的自定义应用程序来执行此操作。我应该从哪里开始?

我已经用C语言构建了一个程序,允许我的最终用户更新固件。我是通过逆向工程来完成的,Dufse程序可以找到。所有的源代码都包括在内。描述协议

我的主板在boot0引脚上有一个开关,允许MCU引导到“系统内存”。当引导到“系统内存”中时,MCU的USB接口将作为DFU设备运行。您需要在主机PC上安装ST DFU驱动程序,然后可以使用Dfuse程序或您自己的程序更新固件

我也发现它很有用,但不要让它把你引入歧途。ST文档是信息的真正来源

还有其他方法。你知道你的固件实际上可以写入闪存吗?您可以编写自己的引导加载程序,使用USART、USB、以太网或其他外围设备通过写入闪存对设备进行编程。不过,请注意不要覆盖引导加载程序。ST似乎将其称为“应用程序编程”(IAP)

这些可能适用于不同的MCU,但原则是相同的


希望这将为您提供所需的起点。

非常感谢您的详细回复!我将研究您提供的链接。