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.

[参考译文] AM5716:DSP L2 EDC 清理

Guru**** 2596175 points
Other Parts Discussed in Thread: AM5716

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/640798/am5716-dsp-l2-edc-scrubbing

器件型号:AM5716

我正在与 C66x CorePac 合作开发两种产品、一种是 AM5716产品、另一种是 C6674产品。 我希望能对 L2 EDC 的操作过程做出一些澄清。 sprugw0c 的第11.3.2节规定 L2 EDC 的设置过程如下。

  1. 禁用 EDC
  2. 清除 EDC 错误
  3. 使用 IDMA 擦除内存
  4. 启用 EDC
  5. 运行
  6. 使用 IDMA 定期擦除内存(可选)

我已通读了 Memory Scrubing Technique 部分(11-12)、但在某些方面仍不清楚。 我的问题如下。

  1. 存储器清理过程似乎提供了两个选项、写入128位对齐以确保正确的奇偶校验和有效位的128位、以及写入 L2的整个使用段。 上述程序的步骤3中提到了以下哪一项?
  2. 执行这些程序是否有特定的时间? 在应用程序开始时还是在引导加载程序中?
  3. 一个产品(C6674)的引导加载程序在第一个内核上运行。 由于一个内核的 L2可被另一个内核访问、我能否从不属于被擦除 L2的内核执行内存清理? (例如、Core 0能否擦除 Core 1的 L2存储器?)
  4. 在上面的步骤6中、"可选"是什么意思? 不执行内存定期清理会产生什么后果?
  5. 您能否澄清清理是否会消除 L2 EDC 状态寄存器中报告的错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已通知 DSP 专家。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、您是否听到过 DSP 专家的反馈?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有任何更新?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我很抱歉… 我已升级此帖子...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Keith、

    很抱歉耽误你的时间、我被其他任务拖了。 回答您的问题:

    内存清理过程似乎提供了两个选项、写入128位对齐以确保正确的奇偶校验和有效位的128位、以及写入 L2的整个已用段。 上述程序的步骤3中提到了以下哪一项?
    [JI] L2 EDC 设置序列中的步骤3是指配置为 RAM 的 L2的所有地址范围。 因为将为所有存储器块生成奇偶校验位。

    2.执行这些程序是否有特定的时间? 在应用程序开始时还是在引导加载程序中?
    [JI]应在引导加载程序或 CorePac 重置时执行该过程。 在应用程序开始时运行并不是强制性的、因为 CorePac 不会针对每个应用程序进行复位。

    一个产品(C6674)的引导加载程序在第一个内核上运行。 由于一个内核的 L2可被另一个内核访问、我能否从不属于被擦除 L2的内核执行内存清理? (例如、Core 0能否擦除 Core 1的 L2存储器?)
    [JI]我假设您通过 SDMA 端口使用 EDMA、而不是 Core_1的 IDMA。 是的、SDMA 访问(必须与128b 对齐)将能够清理 Core_1 L2 RAM。 对此有一个警告、即如果 EDMA 纠正了单位错误、存储器中的数据将被更改、但 Core_1的 L1可能与 L2不一致、尽管 L1内容在逻辑上仍然正确。 同样、每个内核自己的 IDMA 是首选选项。

    4.在上面的步骤6中,“可选”是什么意思? 不执行内存定期清理会产生什么后果?
    [JI]清理的净效果是降低双位错误的可能性。 对于长达数年的系统、可能会发生单个位错误、所有读取访问都将正确、因为单个位错误始终由奇偶校验位校正。 但随着时间的推移、在同一个128b 份额中可能会发生另一个单位错误、然后会发生不可纠正的双位错误。

    5.您能否说明清理是否会删除 L2 EDC 状态寄存器中报告的错误?
    [JI]不是自动的。 相反、会发生单位校正、事件会记录到 EDC 事件计数器寄存器中。 当 EDC 错误发生并中断 DSP 时、由软件通过写入 L2EDCMD 寄存器位来清除它们。

    如果还有其他问题,请允许我发言。
    Jian