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.

[参考译文] TMS320F280025:固件更新选项?

Guru**** 2582235 points
Other Parts Discussed in Thread: C2000WARE, TIDM-02011

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/984332/tms320f280025-options-for-firmware-update

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

团队、

执行固件更新最合适的方法是什么?

我假设 ROM 引导加载程序通常用于在 RAM 中引导自定义固件。
此自定义固件(或二级引导加载程序)将:
  运行并初始化它需要使用的接口
  -通过接口加载更新并将其刻录到闪存中
我的理解是否正确? 我是否缺少一些步骤?

对于这种情况、最适合的接口是什么(引导加载程序支持)? 您建议使用哪种接口?
在代码大小(最小、可能适合24kB RAM)和更新速度(最快接口)方面、最常见的是什么?
我们是否有一个可以使用引导加载程序(SCI、CAN 等)在 RAM 中加载某些代码的现成示例?

我们是否有一些代码示例展示了闪存 API 的使用并提供了这样的第二级 Booloader 的示例?
我们是否有一些闪存分区指南、例如、您可以使用闪存页面获取日志信息?
在更新失败的情况下、是否有关于恢复机制的反馈?

固件更新也可以在应用程序级别完成吗?
是否有相关指南?

提前感谢、

A.

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

    CNA 您请参阅 TRM、它应能回答您的许多问题。 如果您有任何疑问、我很乐意为您提供帮助。

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

    Anthony、

    下列内行答复:

    我假设 ROM 引导加载程序通常用于在 RAM 中引导自定义固件。
    此自定义固件(或二级引导加载程序)将:
      运行并初始化它需要使用的接口
      -通过接口加载更新并将其刻录到闪存中
    我的理解是否正确? 我是否缺少一些步骤?

    [SIRA]是的、外设 ROM 引导加载程序(例如 SCI)会将 SCI 闪存内核(也称为自定义引导加载程序、也称为次级引导加载程序)加载到 RAM 中、执行将传递到内核上。 这将从主机下载应用程序并将其编程到闪存。

    对于这种情况、最适合的接口是什么(引导加载程序支持)? 您建议使用哪种接口?

    [SIRA] SCI、CAN、USB 很常见。 就闪存内核示例而言、SCI 是 TI 最广泛的支持。


    在代码大小(最小、可能适合24kB RAM)和更新速度(最快接口)方面、最常见的是什么?

    [SIRA]我不知道我可以做一个很好的比较、因为我们没有太多的选择。 下面是一个列表。 如您所见、除了 SCI、我们仅在1代3器件系列上提供 USB 支持。 SCI 应在 F28002x 上工作。

    • SCI (F2802x、03x、05x、07x、37xS、 37xD、004x)
    • CAN (03x、06x)-\device_support\f2806x\examples\c28\f28069_CAN_flash_kernel、 \device_support\f2803x\examples\c28\F2803x_CAN_flash_kernel
    • USB (37xD)

    我们是否有一个可以使用引导加载程序(SCI、CAN 等)在 RAM 中加载某些代码的现成示例?

    [SIRA]您会发现上面的列表没有提到 F28002x (或 F2838x)、但我们目前正在研究这些内核。 F28002x 已准备就绪、可以共享(例如在 TIDRIVE 上)。 它将进入即将发布的 C2000Ware 版本。

    我们是否有一些代码示例展示了闪存 API 的使用并提供了这样的第二级 Booloader 的示例?

    [SIRA]是的,如上所述。


    我们是否有一些闪存分区指南、例如、您可以使用闪存页面获取日志信息?

    [SIRA]您能详细说明吗? 是否要为某些日志信息保留闪存的一部分? 这应该没问题、您只需修改闪存内核即可、而不会在更新期间擦除所有闪存。 一旦您有了代码、我就可以与您讨论详细信息。

    在更新失败的情况下、是否有关于恢复机制的反馈?

    [SIRA]在这些情况下、您通常只需重启电源并重试更新。 更新失败会损坏闪存(例如 OTP)的可能性很小。

    固件更新也可以在应用程序级别完成吗?

    [SIRA]您能详细说明一下吗? 您是否在询问应用程序运行时是否可以进行 FW 更新? 这将属于 LFU (实时固件更新)空间。 SCI 闪存内核需要驻留在闪存中。 流量会有所不同。 您不会调用 SCI ROM 引导加载程序。 我们可以通过电子邮件进行更多讨论。 我在 SCI 闪存内核中创建了 LFU 构建配置。 它的工作原理。

    谢谢、

    Sira

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

    您好,Sira,

    感谢您的详细回答!

    现在、我不需要更多信息。  期待在下一个 DigitalPower SDK 版本(计划于2021年第1季度/第2季度发布)中提供"实时固件更新- TIDM-02011"代码/UG:
    www.ti.com/.../C2000WARE-DIGITALPOWER-SDK

    A.

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

    当然可以。 发布后、如果您有更多问题、请告诉我。 我现在将关闭此问题。

    谢谢、

    Sira