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.

[参考译文] AM2432:DDR ECC 故障注入测试问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475631/am2432-ddr-ecc-fault-injection-testing-issues

器件型号:AM2432

工具与软件:

您好、专家:
我们正在对 DDR ECC 进行故障注入测试、并根据安全手册要求定期实施此措施。
实现方法:参考 mcu_plus_std_am243x_09_00_00_00_35中的 DDR ECC 错误注入程序(DDR_ECC_TEST_MAIN_ ESM)、定期执行错误注入、清除错误标志并更正中断响应中的错误。

存在以下问题
1.执行错误注入需要将 ECC-IN 位置位、但 TRM 指出该位在使用 DDR 之前必须保持静态、这与注入过程中配置 ECC-IN 位的需求相矛盾。 我应该如何定期执行此诊断措施?


2.如果错误仅在初始化期间注入而没有在中断程序中纠正、而是在定期执行期间触发、我们发现当错误首次触发时可以正常进入中断、但触发一次后仍可以继续进入中断程序。 这种现象是否正常? 如何触发不进行校正的一次性中断程序?

谢谢你

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

    你好、Jimmy、

    对于此处的延迟、我们深表歉意。

    [报价 userid="610902" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475631/am2432-ddr-ecc-fault-injection-testing-issues ]1. 执行错误注入需要设置 ECC-IN 位、但 TRM 指出该位在使用 DDR 之前必须保持静态、这与注入过程中配置 ECC-IN 位的需求相矛盾。 我应该如何定期执行此诊断措施? [报价]

    我将与硬件专家核实这一点。 但是、我认为、即使只为了错误注入而更改了 ECC-IN 位、也应该可以。 这是所有客户都遵循的标准流程。  

    [报价 userid="610902" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475631/am2432-ddr-ecc-fault-injection-testing-issues ]2. 如果仅在初始化期间注入错误、而未在中断程序中纠正、并在周期性执行期间触发错误、我们会发现在首次触发错误时可以正常进入中断、但在触发一次后仍会继续进入中断程序。 这种现象是否正常? 如何触发不进行校正的一次性中断程序? [报价]

    您能解释一下吗? 我不明白这个问题。

    此致、

    Nihar Potturu.  

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

    你好、 Potturu

    感谢您的答复

    关于第二个问题、我们作出了这样的尝试
    步骤1:在初始化阶段将 ECC 错误(未触发)注入 DDR 特定地址。
    步骤2:在周期运行阶段访问 DDR 会触发此错误。
    第3步:不更正中断回调函数中的错误。

    测试后出现的现象如下:
    触发第二个步骤后、进入回调函数。 在回调函数退出后、它将立即重新进入回调函数、并且无法执行正常程序。

    吉米

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

    尊敬的 Jimmy:

    我们测试后出现的现象如下:
    触发第二个步骤后、进入回调函数。 回调函数退出后、它将立即重新进入回调函数、并且无法执行正常程序。[/QUOT]

    是否会针对双位错误观察到这种情况?  

    此致、

    Nihar Potturu.  

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

    你好、 Potturu

    这种现象在双位和 single-bit 两种情况下都会出现。μ s

    吉米

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

    你好、Jimmy、

    [报价 userid="610902" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475631/am2432-ddr-ecc-fault-injection-testing-issues/5684765 #5684765"]

    触发第二个步骤后、进入回调函数。 在回调函数退出后、它将立即重新进入回调函数、并且无法执行正常程序。

    [报价]

    由于 double-bit 错误不可纠正、因此应为程序卡住。 但是、single-bit 错误会自动纠正、因此如果您在回调函数中清除 ECC 错误、则应该不会看到此问题。 您是否在回调中调用 DDR_ClearECCError API?(下面附带了屏幕截图)

      

    此致、

    Nihar Potturu.  

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

    尊敬的 Jimmy:

     内部团队(如 DDR-T7)的反馈在启动时进行、不需要定期进行。

    此致、

    Linjun