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.

[参考译文] RM41L232:SAFETTI 代码中未找到的某些安全特性的错误响应操作

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/608380/rm41l232-the-error-response-action-of-some-safety-features-not-found-in-safeti-code

器件型号:RM41L232

您好!

我在 RM41L232控制器上使用 SafeTI 2.3.1来实现我们的系统。

根据安全手册、我们知道当发生错误时 、[IOM3]、[VIM1]和[ADC4]安全功能将向 ESM 发送信号、

单独对应于[Group1 Channel 37]、[Group1 Channel 15]和[Group1 Channel 19]。

但在 SafeTI 的 sl.esm.c 中、我们发现在函数 esmGroup1Handler 中、没有 上述  三个错误标志的相关处理。

因此、在我们的应用中、我们无法在错误回调函数中执行任何过程。

我们自己是否有必要将  上述三个错误标志的相关过程添加到 sl_ESM.c 中?

或者这些错误处理位于其他文件中? 请先确认并感谢。

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

    您好、Lilly、

    很抱歉、您的问题迟迟未能回复您。

    在版本2.3.1的 SafeTI 诊断库中、我在 esmGroup1Handler 回调函数中看到以下内容:

    对于 ESM 组1通道15:

    /** VIM 奇偶校验错误**/
    案例 ESM_G1ERR_VIMRAM_parity:
    
    if (true== sl_FLAG (VIM_SRAM_parity)){
    cancelCallback = true;
    callbackCancelCount++;
    }
    /*提取参数并清除标志*/
    callbkParam1 = sl_VIM_ADDERR;
    SL_VIM_PARFLG = 1U;
    中断; 

    对于 MibADC ESM 和 IOMM 错误、您可以更正的是、库似乎没有将这些 ESM 错误包含在回调函数中。 如果您计划将中断分配给这些特定 ESM 错误、则需要将它们添加到回调函数中。

    请注意、sl-SelfTest.c 文件中有一个 MIBADC 奇偶校验诊断测试。 搜索"ADC_SRAM_奇 偶校验_测试"

    其中更关键的是、如果 MIBADC 存储器中存在故障、则需要以适用于您的要求的某种方式来处理 MIBADC 奇偶校验错误。 即、数据将被丢弃、 会发生某种重试机制或重采样、 收集多个样本或取平均值、数据范围检查以及 处理可能的故障和后续通知的其他方法。

    对于 IOMM 故障、在 以下两个条件下 ESM 组1通道37标志被置位:

    -地址错误-当对 IOMM 寄存器帧内未实现的存储器位置有读取或写入访问时发生。  

    -保护错误-当 CPU 在非特权操作模式下写入 IOMM 寄存器时发生。

    在器件的调试和测试中、应指明其中任一项。 如果它们发生在应用程序运行期间、我怀疑 CPU 有某种假写入、指示写入地址中存在指针错误或软错误。 在这两种情况下、都不会影响 IOMM、因为这些访问将被拒绝。 它实际上表明了其他问题的发生、应根据您的应用要求进行处理、因为任何错误的写入或指针访问都是如此。 同样、将其添加到回调函数取决于您。