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.

[参考译文] TMS320F280049:F28004x 固件更新示例

Guru**** 2394305 points
Other Parts Discussed in Thread: SFRA, TIDM-02011

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1019859/tms320f280049-f28004x-firmware-update-example

器件型号:TMS320F280049
主题中讨论的其他器件:SFRATIDM-02011

尊敬的 TI:

我 尝试使用 TI 提供的示例串行闪存器件。 我们将使用 https://www.ti.com/lit/ug/tiduey4a/tiduey4a.pdf?ts=1625114701282&ref_url=https%253A%252F%252Fwww.google.com%252F 第3.2节中提到的降压示例。 为了运行 BUCK 应用程序代码,我们能够使用 bank0编译,但不能使用 bank1编译。 我们已按照表中的步骤操作  。  

显示的错误为  

gmake:***[libraries/sfra/sfra_Gui_scicomms_driverlib.obj]错误1
gmake:目标"全部"不会由于错误而重新生成。

请帮帮我

谢谢、此致

Anju

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

    Anju,我将在今天结束前查看并回答这个问题。 谢谢、Sira

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

    Anju、

    我刚刚在 DigitalPower SDK v3.02.00.00安装中尝试过此操作、并且 BANK0_FLASH 和 BANK1_FLASH 构建配置构建过程中没有任何问题。

    这个错误并没有告诉我太多信息。 您可以尝试清理工作区、重新导入工程并进行编译吗?

    首先尝试构建 BANK1_FLASH 配置。

    谢谢、

    Sira

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

    你(们)好,Sira。

    感谢您的回答。

    我尝试过相同的方法、但也有相同的错误。。。 我已经创建了一个新的工作区、在这里我已经编译并构建了这个项目。 它现在工作正常。。。 两者都能够构建

    谢谢、此致

    Anju

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

    你(们)好,Sira。  

    我能够以 SCI 引导模式加载内核文件。 以及运行 appln.exe 时

    serial_flash_programr_appln.exe -d f28004x -k f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel-CPU1-RAM.txt -a f28004x_fw_upgrade_example\buck_F28004x_lduBANK1FLASH.txt -b 9600 -p COM12

    在闪存引导模式下、它不能按预期工作。  

    之后、它没有显示任何内容。 自动波特锁不工作。  

    请推荐我可以遵循的任何更改。 或者、我能否为同一命令的实时 DFU 运行 serial_flash_programr.exe 本身?

    谢谢、此致

    Anju

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

    Anju、

    是否将内核加载到 Bank0、然后使用它将应用程序编程到 Bank1?

    谢谢、

    Sira

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

    您好,Sira,

    是的。。。 我首先加载了 BANK0内核。 然后关闭电源并更改为闪存引导模式并打开电源。 此时加载 BANK1应用文件时、会显示这些错误。  

    谢谢

    Anju

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

    Anju、

    您使用的代码来自 DigitalPower SDK v3.02.00.00 TIDM-02011、对吧?

    我假设您在 TIDUEY4的3.4.1的第5步中遇到问题、对吧?

    是的、在此步骤中、您必须使用 serial_flash_programr_appln.exe、而不是 serial_flash_programmer.exe、因为内核已经在闪存中。

    我建议以下几点:

    1.按照文档中所述重复步骤-以防遗漏任何内容。

    2.如果问题仍然存在、请连接到 CCS 并检查闪存地址8000-82000、查看它们中是否有有效内容、而不仅仅是 FFFF。

    3.也可以尝试使用 CCS,即使用 TIDUEY4的3.4.2。

    谢谢、

    Sira

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

    您好,Sira,

    感谢您的回答

    我遵循相同的步骤、SDK 代码和文档。 在刷写应用程序之前、我已经擦除了所有数据、通过遵循  TIDUEY4的3.4.1本身、这些步骤开始工作。  不知道到底是什么问题.. 但现在能够闪存这两个内存组。

     谢谢、此致

    Anju

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

    Anju、

    听得不错! 祝你一切顺利。

    谢谢、

    Sira

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

    您好,Sira,

    自动波特率之后。 TI 器件存在校验和错误。 它在发送22个字节的初始化数据后持续位于 while 环路内。 未收到校验和。

    我已经从我们的代码和 Visual Studio 代码命令提示符中尝试过它。 两个卡在同一位置。  

    尝试再次刷写内核文件。 在 DFU 命令 SEND 之后,发送文件时,在发送过程之间也会出现卡滞。 我附加的图像是它卡住的位置

    此 MCU 有问题吗? 所有命令都无法完成。 如 DFU、复位、擦除。

    才能完成所有这些任务。。。

    谢谢、此致

    Anju

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

    您好,Sira,

    我不断面临两个问题中的任何一个

    1) 1)自动波特之后。 TI 器件存在校验和错误。 它在发送22个字节的初始化数据后持续位于 while 环路内。 未收到校验和。

    我已经从我们的代码和 Visual Studio 代码命令提示符中尝试过它。 两个卡在同一位置。  

    尝试再次刷写内核文件。 在 DFU 命令 SEND 之后,发送文件时,在发送过程之间也会出现卡滞。 我附加的图像是它卡住的位置

    此 MCU 有问题吗? 所有命令都无法完成。 如 DFU、复位、擦除。

    才能完成所有这些任务。。。

    此外,

    2)我使用了另一个板,对于这种情况,我可以从命令提示符处刷写 bank0的内核,然后刷写 bank1的应用程序映像,再刷写 bank1的内核,但始终卡在刷写 bank0的应用程序映像上。  

     这两个问题是我在闪存两个存储体时遇到的。  

    谢谢、此致

    Anju

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

    Anju、

    您使用的是什么硬件?

    谢谢、

    Sira

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

    您好,Sira,

    我使用的是 F280049C LaunchPad 开发套件。 尝试使用 TIDUEY4 3.4.2中的步骤。 我能够从 CCS 闪存两个组。  

    谢谢  

    Anju

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

    您好,Sira,

    在 TIDUEY4中的这种方法中、我们必须加载2种不同类型的文件、也可以针对 bank0和 bank1加载。 在这两个应用文件中、唯一的区别是构建配置。 我们只能使用一种类型的配置,而不是这种方法? 也就是说、即使我们使用组0和组1进行闪存、我们也可以在相同的配置中编译代码、并且在加载代码时、它将自动选择备用组。 我提出这一问题是因为、如果我们在下一次写入相同的闪存组代码、该过程将受到影响。  

    还有一件事... 我们能否仅从闪存部分之一更新固件?

    谢谢、此致

    Anju

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

    Anju、

    您说3.4.2适合您、3.4.1不适合您吗? 您是否能够运行完整的 LFU 演示、即实时更新固件?

    谢谢、

    Sira

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

    Anju、

    您需要2个单独的闪存内核/编译配置、因为从 Bank0运行的内核将仅更新 Bank1上的应用、而在 Bank1上运行的内核将更新 Bank0上的应用。 Bank0无法更新 Bank0 -这将违反闪存操作-您无法从正在执行(读取)的同一闪存组擦除/编程。

    谢谢、

    Sira

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

    Sira、  

    现在它正在工作。 我觉得问题是连接方面的问题、 很抱歉给您带来不便。 感谢您对每个查询的指导。

    在更新过程中、需要更新更多器件。 因此、跟踪每个器件中的固件并不容易。  

    此致

    Anju  

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

    Anju、

    很高兴听到它现在正在工作!

    我现在理解您之前的问题-您基本上想知道是否可以创建应用程序、以便它不是特定于 Bank0或 Bank1、并且在加载时它确定需要转到的组。 这一问题已经得到考虑,但没有得到执行。 我将对此进行进一步调查。 我知道、从可维护性的角度来看、跟踪应用所需的闪存组并不是最佳方法。

    现在,我很高兴你能够取得进展。

    谢谢、

    Sira

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

    Sira、

    这正是我的意思。 我期待您的未来帮助。  

    谢谢  

    Anju

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

    当然是 Anju。

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

    您好,Sira,

    感谢您的支持

    很抱歉耽误你的时间。

    我可以使用 SCIB 进行此固件更新吗?  引脚56和57。 如果是、我应该进行哪些更改? 。 如果我将 BUCK_LFU_setupSCIAPort();将 BUCK 示例中的 SCIB 更改为这些引脚,或者还需要进行任何其他更改?

    谢谢  

    Anju

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

    Anju、

    由于您将使用闪存引导模式、我认为应该可以使用 SCIB 在应用程序中进行流式传输。

    此外、您还需要更改使用 SCIA 的 SCI 闪存内核。 具体而言、flashapi_ex2_sci_get_function.c (需要将 SCIA_BASE 替换为 SCIB_BASE)和 sciPinmuxOption ()中的许多更改都对应于 SCIA、并在 flashapi_ex2_bootrom.h 中定义 这些内容需要更新。 还有许多其他变化,我在这里也没有分析过。

    谢谢、

    Sira

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

    您好,Sira,

    感谢你的答复。 但是  、根据表4.4 (第591页)中的 www.ti.com/.../sprui33d.pdf、提到只能使用 SCIA。 我尝试将内核代码和 BUCK 示例代码更改为 SCIB、并为 bank0刷写内核、并尝试将 LDFU 从我们的代码更改为 SCIB 自动波特不起作用。  

    谢谢  

    Anju

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

    Anju、

    您显示的是外设引导模式。 在这种情况下、您不会通过 SCIB 引导。 您正在使用闪存引导、并通过 SCIB 在映像中进行流式传输、我认为这是合法的。 您可能没有更改过的位置。 您必须仔细查看代码、了解是否缺少任何内容。

    谢谢、

    Sira