This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129ENCPDT:通过 UART 在 MCU 和支持32模块之间进行固件更新

Guru**** 2928100 points

Other Parts Discussed in Thread: EK-TM4C1294XL

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063706/tm4c129encpdt-firmware-update-between-mcu-and-esp32-module-via-uart

器件型号:TM4C129ENCPDT
Thread 中讨论的其他器件:EK-TM4C1294XL

大家好、

我有 一个同时具有 Tiva MCU 和 esp32/wifi 的定制板。 我想进行固件更新。 为此、我需要连接到随附固件文件的 TCP 服务器。 自定义板通过 WiFi/esp32连接到 TCP 服务器并将0x43 (C)数据发送到服务器后、固件更新将启动。 这意味着 TCP 服务器将开始向 esp32模块发送十六进制数据。 ESP 模块将通过 UART 将这些十六进制数据发送到 MCU。

发送过程如下所示:

MCU 将通过 UART 将 C 发送到 esp32、ESP 模块将 C 发送到 TCP 服务器

TCP 服务器收到 C 后、将开始向 ESP 模块发送1024个数据包。 MCU 将通过 UART 从 esp32获取此数据包。

MCU 获取此数据包后、将向 ESP 发送 ACK、ESP 将向服务器发送 ACK。

TCP 服务器接收 ACK 后、将向 esp 发送另一个数据包  

等等。

我已经通过 ESP 模块连接到服务器和 MCU。  

但我不知道如何更新固件。

此方法是否正常工作? 是否有任何示例代码和源代码可实现该目的? 您对此有什么想法或建议吗?

谢谢你

BR

Bekir

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我理解您要做的事情。  我们没有涉及用于 OTA 更新的 ESP32的示例。 ESP32是我们没有任何经验的第三方器件。 我们有一个通过 UART 的引导加载程序示例。 这可以在 TivaWare 库中找到。 此示例可在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_serial 中找到。 boot_serial 是一个引导加载程序。  可以在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c1294xl\boot_demo1中找到示例应用固件。 引导加载程序将引导并 从 UART 接口加载固件 boot_demo1。 在这种情况下、您需要为 ESP32创建软件、以便在引导加载过程中从 TM4C129接收 UART 命令、然后将命令中继到 TCP 服务器。  

       请参阅引导加载程序用户指南中的第5节、了解 ESP32需要遵守的 UART 数据包交换协议。 用户指南可在 https://www.ti.com/lit/pdf/spmu301上找到。