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.

[参考译文] RM57L843:由于 ESM 模块可以捕获各种故障并通过回调函数通知应用、因此为什么我们仍使用 SafeTI 诊断库来进行自检

Guru**** 2540610 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1214135/rm57l843-since-esm-module-can-capture-kinds-of-faults-and-inform-application-thru-callback-function-why-do-we-still-use-safeti-diagnostic-liarary-to-do-selftest-mannually

器件型号:RM57L843

您好!

我对 SafeTI 诊断库有疑问。

我们知道 ESM 模块可以捕获各种故障并通过调用回调函数自动通知应用、为什么我们仍使用 SafeTI 诊断日志进行自检呢?

谢谢。

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

    您好、Shenruming、

    SDL 的故障注入 API 用于在运行时创建故障、以便应用程序开发人员可以模拟故障。  处理故障以获取更多信息、并通过已注册的回调告知应用。  

    应手动触发自检。

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

    您好、QJ:

    以 SRAM 诊断库为例。

    在我看来、只使用 SRAM_XXX_Inject 来注入故障、然后再使用 ESM 中断调用回调函数来响应人工故障、对吗?

    如果是、还有其他选项用于什么、例如 SRAM_ECC_ERROR_CHRING_IBIT?

    如果它们未用于故障注入、则必须用于检测故障  然后直接将测试结果放入指针参数或返回值中。

    在这个例子中、我们不需要将 ESM 与回调函数一同使用。 对吧?

    如果是、为什么不使用 ESM 中断处理和回调 mechnism 来替换它?

    毕竟、除了 故障注入测试、ESM 还可以发现并报告实际的器件故障。  

    您能帮助确认上述4个问题吗?

    如果我的理解不正确、请更正我。 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据我的理解,仅使用 SRAM_XXX_Inject 来注入故障,然后使用 ESM 中断调用回调函数来响应人工故障,对吗?

    是的、回答正确。

    如果是这样,还有什么其他选项用于,例如 SRAM_ECC_ERROR_CHING_IBIT?

    针对错误强制测试和自检禁用 ESM 回调。

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

    您好 QJ:

    感谢您的答复。

    从您的言辞中、我得知 ESM 模块仅用于故障注入、而不用于自检。

    我对此还有另一个问题。

    当我们调用 API SL_SelfTest_SRAM 进行自检时、测试结果可能是正常或失败。 然后、我们需要  在应用中仔细处理测试结果。

    但是、当我们通过注入测试类型的参数进行故障注入时、如何处理与测试结果参数或返回值一起提供的测试结果?

    我们可以忽略测试 API 返回的测试结果吗? 毕竟、当 ESM 模块检测到注入的故障时、它将通过回调函数将其发送出去。 对吧?

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

    如果测试结果为"通过"、您可以忽略它。 如果测试结果为"失败"、您需要停止并执行更多测试以检查它是否是随机故障或危险故障。