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.

[参考译文] RM44L520:应用程序中断是否与 ESM 冲突?

Guru**** 2534260 points
Other Parts Discussed in Thread: RM44L920

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063667/rm44l520-can-the-interrupt-of-application-be-conflict-with-esm

器件型号:RM44L520
主题中讨论的其他器件:RM44L920

尊敬的香榭丽舍

我的客户想知道我们的诊断库 和他们应用的中断之间是否存在任何冲突、并有几个其他问题。

在 SL_RM44L920_Noos 示例代码中、他们想要检查  诊断库函数生成的中断是否会影响其应用、并且他们担心其中断可能 会被 以下诊断库函数生成的中断挂起太长时间。 请检查一下吗? 您是否有关于诊断库引起的中断延迟的任何信息?

RetVal = Re_Read_Compare (VIM、比较);

RetVal = sl_SelfTest_GIO (GIO_ANALOG_LOIP_TEST、SL_GIOPORTA、5U);

RetVal = sl_SelfTest_SPI (SPI_ANALOG_LOOP_TEST、SL_SPI2);

2.他们在  sl_RM44L920_Noos 示例代码中发现了几个带有以下注释的"循环"、并想知道是否应定期运行以下测试循环。

 /*在2个端口上运行所有可移植的2端口算法*/

/*在1个端口上运行所有可移植的1端口算法*/

/*在所有 ROM 存储器上运行 pbist */

/*在 内存上运行打开的片算法*/

/*在所有 内存上运行 PMOS open algo */

3、即使在测试完成后、我的客户也想知道为什么会再次初始化每个 I/O 端口和功能。   这是否用于空闲任务期间的测试?

   /*禁用 htu */
       sl_htuREG1->GC &=(uint32)(~0x10000u);
#if!(defined (_RM42x_)|| defined (_TMS570LS04x_))
       sl_htuREG2->GC &=(uint32)(~0x10000u);
#endif

       /*在选定 RAM 上启用奇偶校验*/
       enableParity ();

#if!(defined (_RM42x_)|| defined (_TMS570LS04x_))

       memoryInit((UINT32)((UINT32) 1U <<1U )/*   DMA RAM */
                 |(UINT32)((UINT32) 1U << 5U)   /* CAN1 RAM */
                 |(UINT32)((UINT32) 1U << 6U)   /* CAN2 RAM */
                 |(UINT32)((UINT32) 1U << 10U)  /* CAN3 RAM */
                 |(uint32)((uint32) 1U << 8U)   /* ADC1 RAM */
                 |(uint32)((uint32) 1U << 14U)  /* ADC2 RAM */
                 |(uint32)((uint32) 1U << 3U)   /* HET1 RAM */
                 |(uint32)((uint32) 1U << 4U)   /* HTU1 RAM */
                 |(uint32)((uint32) 1U << 15U)  /* HET2 RAM */
                 |(UINT32)((UINT32) 1U << 16U)  /* HTU2 RAM */
                 );

其他
       memoryInit ((uint32)((uint32) 1U <<5U)   /* CAN1 RAM */
                 |(UINT32)((UINT32) 1U << 6U)   /* CAN2 RAM */
                 |(uint32)((uint32) 1U << 8U)   /* ADC1 RAM */
                 |(uint32)((uint32) 1U << 3U)   /* HET1 RAM */
                 |(uint32)((uint32) 1U << 4U)   /* HTU1 RAM */
                 );
#endif

       /*启用 HTU*/
       sl_htuREG1->GC |=(uint32) 0x10000u;
#if!(defined (_RM42x_)|| defined (_TMS570LS04x_))
       sl_htuREG2->GC |=(uint32) 0x10000u;
#endif
    mibspiInit();
    canInit();
  spiInit();

 

它们的安全诊断库版本为2.4.0。

谢谢、此致、

SI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="3169" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063667/rm44l520-can-the-interrupt-of-application-be-conflict-with-esm SL_SelfTest_GIO (GIO_ANALOG_LOIP_TEST、SL_GIOPORTA、5U);[/引用]

    在这个函数中、来自 GIOA 端口的中断被禁用。 此函数将延迟 GIOA 中断。

    [引用 userid="3169" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063667/rm44l520-can-the-interrupt-of-application-be-conflict-with-esm ]sl_SelfTest_SPI (SPI_ANALOG_REOPEN_TEST、SL_SPI2);[/引用]

    此函数禁用来自 SPI2端口的中断。 来自 SPI2的中断将被延迟。

    所有其他中断、例如来自 CAN 或 SCI 的中断、都不应受到影响。

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

    您好 QJ、

    感谢您的回答。

    是否应定期运行所有循环? 或者是否应根据客户的用例运行它?

    谢谢、此致、

    SI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="3169" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063667/rm44l520-can-the-interrupt-of-application-be-conflict-with-esm ]2. 他们在  sl_RM44L920_Noos 示例代码中找到了几个带有以下注释的"循环"、并想知道是否应定期运行以下测试循环。

    PBIST 可被定期执行。

    [引用 userid="3169" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063667/rm44l520-can-the-interrupt-of-application-be-conflict-with-esm ]3. 即使在测试完成后、我的客户也很好奇每个 I/O 端口和功能为什么会再次初始化。 这 是否用于 空闲任务期间的测试?

    外设 RAM 应在 pbist 测试后初始化。 我认为不需要重新初始化 I/O 端口。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="45190" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1063667/rm44l520-can-the-interrupt-of-application-be-conflict-with-esm/3936733 #3936733"] PBIST 可以定期执行。

    然后、PBIST 不需要定期执行、客户应该决定是否定期执行、对吧?

    我认为客户应该根据 其用例决定是否应该运行示例代码中的所有函数、对吧? 例如、我的意思是、这只是示例代码、客户应该通过引用它们来实现它们的用例、对吧?

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

    我建议在引导期间对应用中使用的所有存储器执行 PBSIT 测试。  在存储器上运行 PBIST 具有破坏性、 您应该在定期执行 PBIST 时备份数据和运行时信息。  

    如果您的应用具有很长的导通时间(天数、周甚至数年)、而没有下电上电周期、潜在故障就会成为此后的一个问题。 在这种情况下、可能需要包括维护周期的概念、在此周期中、设备将按指定的固定时间间隔(一次/wk、一次/年...)进行功率循环或软复位。 具体取决于应用需求)。 可以说,这一间隔也可被视为定期测试。