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.

[参考译文] TMS320F28379D:如何通过 SCI 更新固件。

Guru**** 2564390 points
Other Parts Discussed in Thread: TMS320F28379D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1218641/tms320f28379d-how-to-update-firmware-via-sci

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

您好!

我目前正在从事一个涉及 TMS320F28379D 评估板的项目、我们的要求之一是在客户现场执行固件更新。 但是、我们不能直接将 C2000芯片连接到计算机进行更新、因此我们计划改用 SCI 固件更新方法。

我将描述我们想要的工作方式(希望它很清楚):   

1.我想使用 GPIO 引脚72和84、以便将芯片配置为 SCI 引导模式

然后复位电路板以运行 SCI 引导加载程序

3.当评估板处于 SCI 引导模式时,我想通过 UART 发送新的固件更新,由另一个芯片而不是 PC 发送

4.更改 GPIO 72和84、然后再次复位 C2000

5.运行新固件。

TI 论坛的相关人员能否确认此计划是否可行、并提供有关如何以这种方式实现 SCI 固件更新方法的任何相关信息或资源?

谢谢你。

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

    您好!

     是的、这是可以实现的。   有关更多详细信息、请参阅 www.ti.com/.../sprabv4e.pdf。

    还可以 在 C2000Ware_x_xx_xx_xx > device_support > f2837xd > examples > dual > F2837xD_sci_flash_kernels 下参考示例代码。 可以使用 https://www.ti.com/tool/C2000WARE?keyMatch=C2000%20WARE#downloads 下载 C2000WARE

    此致、

    Rajeshwarwy

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

    感谢您发送编修。

    我已经阅读了所有文档 abd 也使用了 SCI_F100_kernel、但仅在 C2000的 RAM 上运行时有效、不受 GPIO 84和72的影响。  

    我是否需要烧录 SCI_kernel 而不是现有的内核? 或者 C2000中内置了 SCI 引导加载程序? 如果有内置的模型、我如何使用它?

    谢谢

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

    尊敬的 Yuval:

    是的、 SCI ROM 引导加载程序会将闪存内核下载到 RAM、并在 RAM 中运行闪存内核以将应用程序下载到闪存。 我将在周一回到这个话题。

    此致、

    Rajeshwarwy

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

    你好,Rajeshewary,

    非常感谢!

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

    正在等待您的回复

    谢谢

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

    尊敬的 Yuval:

     "我不会骗你的,我不会骗你的。"

    此致、

    Rajeshwarwy

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

    尊敬的 Yuval:

    C2000ware 中的闪存内核示例使用 c1bootROM_BootROMSymbols_fpu32.lib 和 F021_API_F2837xD_FPU32.lib。  此外、闪存内核还需要主机编程器。 我不确定它是否能直接适用于您的应用。

    但是、我们的 SCI 引导代码存在 C:\ti\c2000\C2000Ware_4_03_00_00\libraries\boot_rom\f2837xd、您可以根据需要进行查看和修改。

    此致、

    Rajeshwarwy

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

    您好、 Rajeshwarm:

    感谢你的评分  

    更明显的是、我想在没有任何 GUI 软件的情况下更新固件、只能通过 UART 通信。  因此 、如果我理解正确、常用的方法是将引导加载程序配置到 SCI、通过 SCI 引导加载程序将闪存内核下载到 C2000的 RAM 中、然后通过 SCI base 在闪存内核上完成固件更新。 您能确认一下吗?

    1.如何在没有 CCS 的情况下下载闪存内核? 我理解正确、可以通过 SCI 引导加载程序(引脚72和84)下载它。 使用 serial_flash_programr.exe 下载闪存内核和固件更新。 我已经尝试这么做了、但意识到这在 LaunchPad XL 上是不可能的

    2.是否有其他可能的方法通过 UART 更新固件? (无闪存内核)

    此致、

    Yuval.

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

    尊敬的 Yuval:

    我现在是 OOO、将在周一回复您。

    此致、

    Rajeshwarwy

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

    尊敬的 Yuval:

    很抱歉推迟回复。 关于您的问题、我 认为不可能通过没有闪存内核的 UART 更新固件。 由于闪存内核承载对应用程序进行编程所需的闪存 API。

    此外、您将如何验证 其程序是否正确?

    此致、

    Rajeshwarwy

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

    你好,Rajeshewary

    感谢您的答复。

    我已购买 controlCARD、以便与 GPIO 84、85配合用作 SCI 引导加载程序中的 SCIA 使用。  

    首先、从何处可以找到有关如何与 SCI 引导加载程序通信的文档?
    目前我对源代码 F2837xD_sci_flash_kernels_CPU01.c 进行逆向工程、以了解如何实现该操作。

    我要做的是遵循以下几点:

    1.将 PC RS232 (通过转换器连接到 UART)连接到引脚84、85 (RX、TX)

    2.切换引脚72和84,将 C2000初始化为 SCI 引导加载程序模式

    3.将闪存内核下载到 C2000的 RAM 中

    4.下载新固件

    我能够通过 SCI 引导加载程序与电路板通信(发送字符'a'并取回'a')、但当我尝试发送闪存内核时、闪存内核仅发送几个字节、然后停止。 当它停止时、它开始运行已下载到闪存中的当前程序、这将导致 TI 闪烁示例。  

    此致、

    Yuval.

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

    尊敬的 Yuval:

    您可以参考以下文档  

    https://www.ti.com/lit/an/sprabv4e/sprabv4e.pdf?ts=1679416851397&ref_url=https%253A%252F%252Fwww.google.com%252F

    此致、

    Rajeshwarwy