Embedded 是否可以编程STM32设备无线?

Embedded 是否可以编程STM32设备无线?,embedded,stm32,stm32f4discovery,Embedded,Stm32,Stm32f4discovery,我有一个STM32发现板,我正在尝试不使用任何电缆对其进行编程。在我实习的地方,他们首先希望我使用UART对STM32发现板进行编程。通过建立必要的连接并使用Flash loader演示,我能够做到这一点。现在,我的下一个任务是在STM32 discovery board上添加ESP-07 wifi模块,将此模块连接到与我的计算机相同的网络,并从我的计算机对其进行无线编程。中间不需要其他设备(如树莓)。我对这个问题做了一些研究,但没有得出结论。我所发现的;我可以通过将卡连接到树莓或叫Codegr

我有一个STM32发现板,我正在尝试不使用任何电缆对其进行编程。在我实习的地方,他们首先希望我使用UART对STM32发现板进行编程。通过建立必要的连接并使用Flash loader演示,我能够做到这一点。现在,我的下一个任务是在STM32 discovery board上添加ESP-07 wifi模块,将此模块连接到与我的计算机相同的网络,并从我的计算机对其进行无线编程。中间不需要其他设备(如树莓)。我对这个问题做了一些研究,但没有得出结论。我所发现的;我可以通过将卡连接到树莓或叫Codegrip的设备来远程编程。仅使用ESP-07而不使用这些设备是否可以做到这一点?如果您能告诉我应该查找什么,我将非常高兴。

是的,如果STM32正在运行支持此功能的程序,则可以无线重新编程STM32闪存。当您通过UART对STM32进行编程时,有一个程序在STM32上运行:

  • 打开UART端口
  • 通过UART(使用某些协议)接收新程序数据
  • 然后将新数据编程到闪存上
  • 要以无线方式进行类似操作,STM32需要运行以下程序:

  • 打开Wi-Fi端口
  • 通过Wi-Fi(使用某些协议)接收新节目数据
  • 然后将新数据编程到闪存上

  • 您可能已经使用STM32内部ROM引导加载程序通过UART重新编程。如果是这样的话,那么您使用了ROM引导加载程序所需的协议。但是ROM引导程序可能不支持Wi-Fi。因此,您可能会创建自己的引导加载程序,可以通过Wi-Fi进行通信。您可能正在定义自己的协议,以便通过Wi-Fi传输节目数据。或者,您可以应用一些已建立的协议,例如FTP。搜索支持OTA(无线)固件更新的引导加载程序示例。

    是的,如果STM32正在运行支持此功能的程序,则可以无线重新编程STM32闪存。当您通过UART对STM32进行编程时,有一个程序在STM32上运行:

  • 打开UART端口
  • 通过UART(使用某些协议)接收新程序数据
  • 然后将新数据编程到闪存上
  • 要以无线方式进行类似操作,STM32需要运行以下程序:

  • 打开Wi-Fi端口
  • 通过Wi-Fi(使用某些协议)接收新节目数据
  • 然后将新数据编程到闪存上

  • 您可能已经使用STM32内部ROM引导加载程序通过UART重新编程。如果是这样的话,那么您使用了ROM引导加载程序所需的协议。但是ROM引导程序可能不支持Wi-Fi。因此,您可能会创建自己的引导加载程序,可以通过Wi-Fi进行通信。您可能正在定义自己的协议,以便通过Wi-Fi传输节目数据。或者,您可以应用一些已建立的协议,例如FTP。搜索支持OTA(无线)固件更新的引导加载程序示例。

    有两种可能的解决方案

  • 为STM32编写自定义引导加载程序-闪存在开始时以较小的块进行组织以支持该功能,因此您可以将应用程序移动到更高的内存中,并让引导加载程序跳转到应用程序以加载新的应用程序。然后,引导加载程序可以访问Wi-Fi模块(和其他接口)以获取更新
  • 为ESP0-07编写自定义固件,使其接收并存储STM32映像,然后使用现有ROM串行引导加载程序将其传输到STM32。在这种情况下,您需要引导加载程序协议的详细信息,如果ESP-07与STM32复位线有GPIO连接,这样它就可以调用引导加载程序而无需手动复位,这将非常有用

  • 无论哪种方式,您都需要为一个或另一个设备编写软件。

    有两种可能的解决方案

  • 为STM32编写自定义引导加载程序-闪存在开始时以较小的块进行组织以支持该功能,因此您可以将应用程序移动到更高的内存中,并让引导加载程序跳转到应用程序以加载新的应用程序。然后,引导加载程序可以访问Wi-Fi模块(和其他接口)以获取更新
  • 为ESP0-07编写自定义固件,使其接收并存储STM32映像,然后使用现有ROM串行引导加载程序将其传输到STM32。在这种情况下,您需要引导加载程序协议的详细信息,如果ESP-07与STM32复位线有GPIO连接,这样它就可以调用引导加载程序而无需手动复位,这将非常有用

  • 无论哪种方式,您都需要为其中一种或另一种设备编写软件。

    您需要为此编写自己的软件。我投票结束这个问题,因为这个问题太宽泛了,是否可以设计各种自定义引导加载程序?是的。不过,Wi-fi很乏味,因为它有很多复杂性。例如,蓝牙可以以更简单的方式用作无线UART,用于点对点通信。你需要为此编写自己的软件。我投票结束这个问题,因为这个问题太宽泛了,是否可以设计各种定制引导程序?是的。不过,Wi-fi很乏味,因为它有很多复杂性。例如,蓝牙可以以更简单的方式用作无线UART,用于点对点通信。