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.

[参考译文] TMS320F28388D:TMS320F28388D 中的固件更新 OTA

Guru**** 2782625 points

Other Parts Discussed in Thread: TMS320F28388D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1615164/tms320f28388d-firmware-update-ota-in-tms320f28388d

器件型号: TMS320F28388D
主题: C2000WARE 中讨论的其他器件

尊敬的 TI 支持团队:

 

  • 我们在其中一款产品中使用 TMS320F28388D、对该产品有一项与通过 OTA 进行固件更新相关的新要求。
  • 我们的 TMS 通过以太网接口与基于 ARM 的单板计算机进行交互。[ CPU1 CPU2 和 CM 的固件文件存储在 SBC 中]
  • 目前、固件更新是借助串行闪存编程通过物理连接 USB 电缆来执行的。

 

我们需要通过以下方式在闪存中处理固件、

 

  • 固件架构包含 2 个固件、一个作为基本固件或引导加载程序、另一个作为用户特定的应用程序。
  • 要求在有新固件可用且收到固件更新命令时更新用户应用程序。
  • 收到更新命令后、我们需要使用新的代码来更新应用代码。

 

我们需要知道上述实施方式是否可行,如果可行,需要您的帮助来实施相同的。

等待您的回复。

此致、
Abhi Patel

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

    Abhi、

    您描述的实施是可行的、但我们没有一个现成的示例来满足您的特定需求。 我将在下面介绍我们的功能:

    1.在 C2000Ware 中、我们提供了闪存内核(也称为引导加载程序)示例。 这样、您就可以将器件置于 SCI 引导中、然后将内核传输到 MCU 的 RAM、将控制权转移给它、然后它可以在应用程序中流式传输(也通过 SCI)以对 MCU 的闪存进行编程。 要激活此新固件、您现在需要将器件切换至闪存引导并将其通电。

    \driverlib\f2838x\examples\c28x_dual\flash_kernel\ccs

    \driverlib\f2838x\examples\c28x_cm\flash_kernel\ccs

    2.上述方法的限制是需要切换引导模式。 解决方案是使用上述闪存内核的“闪存“版本。 因此、在上面的步骤 1 中、闪存内核位于 RAM 中、可以拥有相同的闪存版本、并将其编程到闪存中保持不变的位置。 现在、您始终可以将器件引导至闪存引导、并首先执行闪存内核。 然后、闪存内核可以执行固件更新或引导应用程序。

    我们目前没有针对这些内核的闪存配置、因此您需要自己进行开发。 这样做应该很简单。

    其他非常有用的文档参考:

    www.ti.com/lit/sprujh3

    www.ti.com/lit/sprabv4

    www.ti.com/lit/spruiu9

    谢谢、

    Sira