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.

[参考译文] TMS570LS0714:SL_SelfTest_EFuse EFUSE_SELF_TEST_STACK_AT_ZERO 不符合 E'不清除 ESM g1.41错误。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1253482/tms570ls0714-sl_selftest_efuse-efuse_self_test_stuck_at_zero-doesn-t-clear-esm-g1-41-error

器件型号:TMS570LS0714
主题中讨论的其他器件:HALCOGEN

您好、我在 SL 库中发现了一个错误。

在 EFUSE_self_test_staged_at_zero 中、有一条线用于为组3通道1清除 ESM 中断和 nERROR 引脚。 但是、组1通道41中断没有此类线路。 在默认状态下、ESM g1.41不会触发 nERROR 引脚响应或中断。 但是、如果在软件(即 HALCOGEN)中配置为触发这两个条件、就无法清除 nERROR。

我认为这是一个错误。 在 TRM 32.3.2.4中明确指出 ESM g3.1和 g1.41是作为测试的一部分设置的、这正是我观察到的。 我还在 TRM 12.1.2中发现、无论中断启用状态如何、ESM 事件都被存储。 在测试中、只要 ESM 中断寄存器备份被恢复、nERROR 引脚就变为低电平、这与此一致。

重现步骤:

在 HALCOGEN 中配置 ESM 组1中的电子保险丝自检 nERROR 和中断响应:

运行 SL_SelfTest_EFuse EFUSE_self_test_staged_at_zero 测试。

    efuseConfig.numPatterns = 0U;               /* Stuck at Zero test does not use pattern generation.*/
    efuseConfig.seedSignature = 0U;             /* Stuck at Zero test does not use seed. */
    efuseConfig.failInfo.stResult = ST_FAIL;
    efuseConfig.failInfo.failInfo = EFUSE_ERROR_NONE;

    slRet = SL_SelfTest_EFuse(EFUSE_SELF_TEST_STUCK_AT_ZERO, true, &efuseConfig);
    if ( (slRet != true) || (efuseConfig.failInfo.stResult != ST_PASS) || (efuseConfig.failInfo.failInfo = EFUSE_ERROR_NONE)  ) {
        return false;
    }

测试应通过、但 nERROR 将生效。

可以修改测试以添加以下调用

        if ((uint32)(1u << ESM_G1ERR_EFUSE_SELTEST_ERR) == (uint32)(sl_esmREG->SR1[0] & (uint32)(1u << ESM_G1ERR_EFUSE_SELTEST_ERR))) {
            _SL_HoldNClear_nError();
        }

这将修复错误。

我能确认这是一个错误吗? 谢谢你。

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

    您好、Robin、

    我已开始处理此问题、并将尝试尽快更新。

    --
    谢谢。此致、
    Jagadish。

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

    您好、Robin、

    但是,如果配置为在软件(即 HALCOGEN)中触发两个,则 nERROR 将无法清除。

    这种情况不会发生、对吗?

    因为 当测试成功完成时、ESM 组1通道41和 ESM 组3通道1将被设定。 这将强制误差引脚处于低电平。

    请看、即使我们有多个 ESM 错误清除 nERROR 只能在一次内正常运行。 我的意思是、我们不需要分别为 ESM3.1和 ESM1.41清除 nERROR。 此外、在这种情况下、无法仅通过 ESM1.41来控制 nERROR、对吗? 组3错误将始终控制 nERROR 引脚、我们无法将其停止以正确控制 nERROR 引脚。

    因此、我的意思是不需要清除 ESM1.41上的 nERROR、并且仅在 ESM3.1上清除 nERROR 是可以的。

     --

    谢谢。此致、
    Jagadish。