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.

[参考译文] TMS320F2800137:通过 ESP32通过 UART 和 OTA 刷写 MCU

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1460999/tms320f2800137-flashing-mcu-via-esp32-over-uart-and-ota

器件型号:TMS320F2800137

工具与软件:

您好!
我 使用  TMS320F2800137作为系统中的主 MCU、并将有一个 ESP32通过 UART 与它相连。 现在、我的问题是、当然、如何首先通过 UART 使用 ESP32来刷写该 MCU? 稍后使用 OTA 呢?
任何建议都会很有帮助。

谢谢。此致、
Naveen

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

    尊敬的 Naveen:

    有关通过 UART 刷写 MCU 的信息、请参阅 C2000微控制器的串行闪存编程应用手册。  我们的外设专用 ROM 引导加载程序可以将自定义引导加载程序(我们称之为闪存内核)下载到 RAM 中。 然后、RAM 中的自定义引导加载程序可以下载固件映像并将其编程到闪存。

    在某些情况下、如 FOTA (与离线固件更新不同)、上述方法不起作用。 相反、闪存中存在自定义引导加载程序是有意义的。 启动器件时、入口点位于自定义引导加载程序中。 自定义引导加载程序将分支到应用程序。 当应用程序正在执行时、如果收到 FOTA 命令、应用程序将继续执行、但在后台控制传递到自定义引导加载程序、该引导加载程序会接收新的固件映像并将其编程到闪存。

    如果您计划使用 F280013x 执行实际的 FOTA 更新、则会更加棘手、因为您只有1个闪存组、并且您的应用需要在固件安装阶段运行。

    您是否计划覆盖闪存中的现有固件、或者您是否计划在同一闪存组中存在2个固件映像? 无论哪种方式、某些应用程序代码都需要在 FOTA 安装阶段从 RAM 运行。 这是因为您无法同时从闪存库中读取/执行以及对其进行擦除/编程(即使这些闪存库位于不同的闪存扇区中)。

    此致、

    Skyler

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

    您好、Skyler、
    感谢你的见解,我是一个新的,但我认为我理解的一般想法,如何去它。
    我本来计划覆盖现有固件、但我认为无法覆盖。
    我可以为这个系列的 MCU 执行 FOTA 吗?或者我是否不得不为另一个 MCU 执行 FOTA?

    我已经购买了此器件的开发套件、因此我可以采用任一种方式进行实验。

    谢谢!
    此致、
    Naveen

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

    尊敬的 Naveen:

    此器件上没有 A/B 交换、但您可以使用我在之前的回复中安排的限制来执行 FOTA。 最困难的部分是确保您有足够的 RAM 以在写入闪存的同时继续在 RAM 中执行您的应用。

    此致、

    Skyler