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.

[参考译文] TMS320C6670:C6670

Guru**** 2589265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/626123/tms320c6670-c6670

器件型号:TMS320C6670

香榭丽舍

我们已将 DSP C6670应用中的稳定性问题跟踪到 IPC_1_24_03_32中的 ti/sdo/IPC/ListMP.c。  我们使用 IPC 在 C6670内核之间传递消息。  主要症状是运行8到72小时后、IPC 断言失败或 MessageQ_Alloc 在可用列表损坏后无法返回缓冲区。

 

由于我们的 IPC 消息缓冲器位于非缓存 DDR 中,因此 ListMP 操作会跳过 cache_wbInv()调用,而不会调用 mfenced()来同步内核内存访问。  如果我们通过 在缓存 DDR 具有同步内存访问的位置添加双推导操作来修改 ListMP.c、则我们将不再看到故障。  (注:由于硅片咨询32、需要双栅栏。)

 

示例:

   if (SharedRegion_isCacheEnabled (id)){

       /*回写,因为 elem->next & elem->prev 已更改*/

       cache_wbInv (elem、sizeof (ListMP_Elem)、cache_Type_All、true);

   }

   其他

   {

       _mfenced();

       _mfenced();

   }

 

问题:

1) 1)     TI 是否同意在使用非缓存 DDR 时 IPC ListMP 列表可能会损坏?

2) 2)     TI 是否已识别或修复此问题?  我搜索了已发布的 TI IPC 版本,但没有找到任何内容。

3) 3)     TI 是否可以针对此问题推荐强大的 IPC 库修复?

4) 4)     现在、我必须自己修改 IPC_1_24_03_32。  我可以根据 BIOS_6_33_06_50成功构建 IPC_1_24_03_32、但不能根据 BIOS_6_35_04_50成功构建 IPC_1_03_32。  BIOS 6.33附带最新的 MCSDK、但我们需要>=6.35才能获得 Advisory 32和其他程序的修复。

  1. IPC 编译是仅使用 BIOS 头文件还是在其实现中链接?
  2. 应该将哪些 IPC 和 BIOS 版本与我们的 Listmp.c 补丁一起使用?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们的反馈将在此处发布。

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

    你(们)好

    差不多一个星期前就想尽快得到答复了。

    谢谢

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

    1) 1)我们未获悉非缓存 DDR 作为共享区域时出现 IPC ListMP 列表损坏问题。
    2)最新的 IPC 3.x 没有用于 ListMP 的_mfence 修补程序。
    3) IPC 1.24.3.32之后修复的问题可从 以下网址的完整列表中查看:software-dl.ti.com/.../index.html。 如果可能、您可以尝试最新的 IPC 3.x、如果必须坚持 IPC 1.x、则可以尝试1.2.x
    4)- IPC 使用 BIOS 实现、例如 cache_wbInv()。
    -每个发行说明中都列出了 XDC 和 BIOS 版本,例如 software-dl.ti.com/.../ipc_1_24_03_32_release_notes.html

    您能否提供一个 CCS 项目来重现 ListMP 损坏问题并使用_mfence 验证其修复?

    谢谢、
    Garrett
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们能够在您的 CCS 项目中重现此问题、而处理器 SDK 中的 IPC 3.x 将通过下一个分支提供补丁、该补丁将集成到下一个处理器 SDK 版本中。 我们将提出 SYS/BIOS 要求、以便在不同内核(A15、M4、DSP)之间提供隔离层支持。 您可以从 GIT 或下一个处理器 SDK 中选择增量、然后重新构建 IPC 1.x 我们不打算维护 IPC 1.x 的发布。

    此致、
    Garrett