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作为系统中的主 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