主题中讨论的其他器件: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