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.

[参考译文] TMS570LC4357:有关芯片勘误表 MIBSPI#138和诊断 MSP16的问题

Guru**** 2434500 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1299282/tms570lc4357-question-regarding-silicon-errata-mibspi-138-and-diagnostic-msp16

器件型号:TMS570LC4357

尊敬的专家:

我有一个关于在执行诊断 MSP16" ECC 逻辑的软件测试"时勘误表 MIBSPI#138的问题:

为了测试 ECC 是否存在1位错误、我们执行以下操作:

  1. 通过设置位 MSPENA=1、然后启用 ECC 来启用多缓冲模式。
  2. 将扩展缓冲器模式保留为禁用(EXTENDED_BUF_ENA = 0x5)
  3. 配置 ECC
  4. 通过设置位 PTESTEN = 1来启用 ECC 内存测试
  5. 通过设置位 RXRAMACCESS=1来接收 RAM 访问控制
  6. 通过设置位 ECCDIAG_EN = 5来启用 ECC 诊断模式
  7. 通过翻转地址处的位来损坏 ECC  (0xFF0E0000U + 0x400U + 0x4U)
  8. 从地址 0xFF0E0000U+0x4U 读取
  9. 检查 ESM 1.77

这样做是可行的、但勘误表中提到了以下内容: "如果已实现扩展缓冲区支持、但针对特定 MibSPI 实例禁用了扩展模式、则在 DIAG 模式下对 MIBSPI RAM ECC 地址空间的读取操作不会为前128个缓冲区返回正确的 ECC 值。"

当设置 EXTEND_BUF_ENA = 0xA (Enable Extended Buffer Mode)时、测试失败。

由于勘误表的描述相当模糊,我想知道,尽管测试工作正常,MIBSPI#138是否应该适用于我们?

谢谢、此致、
最大值

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

    您好、Max:

    我们已开始处理您的问题、并将尽快为您提供更新。

    --
    谢谢。此致、
    Jagadish。

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

    您好、Max:

    我也从未在实际中验证过此勘误问题。

    Unknown 说:
    由于勘误表的描述相当模糊,我想知道尽管测试正在进行,MIBSPI#138是否应该适用于我们?

    根据我的理解、此勘误表应该适用。

    [quote userid="430202" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1299282/tms570lc4357-question-regarding-silicon-errata-mibspi-138-and-diagnostic-msp16这样做可行

    在您的情况下、这可能有效、因为翻转的位可能仅具有正确的 ECC 位。 我的意思是给出错误的 ECC 意味着所有位都可能不会错误、对吧? 7位 ECC 中的任何一位都可能是错误的。

    如果您尝试执行勘误表中建议的变通办法、请记住以下内容:

    如果启用扩展缓冲模式、那么 RAM 的地址范围将被改变、这是因为现在每个 RAM 将为256个字。

    TXRAM (控制+数据)地址范围= 0至3FFh

    RXRAM (状态+数据) 地址范围= 400 至7FFh

    ECC 地址范围= 800至 FFFh

    此外、您还应记住以下要点:

    即使扩展缓冲区空间中 ECC 的地址范围为800至 FFFh、但为了读取前128个缓冲区的正确 ECC 值、我们应该从0xC00访问0xDFF。

    请考虑这一情况并尝试再次进行测试。

    --
    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    在实施权变措施时、我注意到我在上一篇文章中做出了错误假设。 我们测试的是数据的偏移量0x4、ECC 的偏移量0x400+0x4、也就是 TXRAM。

    如果勘误表仅适用于 RXRAM、它将解释我们的实现为什么有效。 我假设 TXRAM 和 RXRAM 的 ECC-Logik 是相同的、所以此测试就足够了?

    但我也测试了 RXRAM 的工作主动脉、 数据偏移量为0x400 + 0x4、ECC 偏移量为0xC00 + 0x4、这也起作用(启用了扩展模式)。

    谢谢、此致、
    最大值

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

    您好、Max:

    如果勘误表仅适用于 RXRAM、它将解释我们的实现为什么有效。 我假设 TXRAM 和 RXRAM 的 ECC-Logik 是相同的、所以此测试就足够了?

    但我也测试了 RXRAM 的工作主动脉、 数据偏移量为0x400 + 0x4、ECC 偏移量为0xC00 + 0x4、这也起作用(启用了扩展模式)。

    [/报价]

    您说得对、这仅适用于 RXRAM、不适用于 TXRAM。

    --
    谢谢。此致、
    Jagadish。

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

    因此、测试 TXRam 就足够了、因为 ECC 逻辑与用于 RXRAM 的逻辑相同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此测试 TXRam 就足够了,因为 ECC 逻辑与 RXRAM 逻辑相同,对吗?

    当您正在尝试测试 MibSPI RAM ECC 1位错误时、因此只需测试 TXRAM 即可、无需测试 RXRAM。

    --
    谢谢。此致、
    Jagadish。