Other Parts Discussed in Thread: RM44L920
Dear Champs,
My customer is curious if there is any possibility to make conflict between our diagnostic library and the interrupts of their application, and has several additional questions.
1. In SL_RM44L920_NoOS sample code, they want to check if the interrupts generated by diagnostic library functions can impact on their application, and they are worrying their interrupts can be pended so long time by below interrupts generated by diagnostic library functions. Could you please check this? Do you have any information the interrupt latency caused by diagnostic library?
retVal = Reg_Read_Compare(VIM,COMPARE);
retVal = SL_SelfTest_GIO(GIO_ANALOG_LOOPBACK_TEST, SL_GIOPORTA, 5U);
retVal = SL_SelfTest_SPI(SPI_ANALOG_LOOPBACK_TEST,SL_SPI2);
2. They found several 'loops' with below comments in the SL_RM44L920_NoOS sample code, and is curious if below test loops should be run periodically.
/*running all posible 2 port algorithms on 2 port momories*/
/*running all posible 1 port algorithms on 1 port momories*/
/*running pbist on all ROM memories*/
/*running open slice algos on memories*/
/*running pmos open algo on all memories*/
3. Even after test done, my customer is curious why each I/O ports and functions would be initialized again. Is this for the testing during IDLE task?
/* disable htu */
sl_htuREG1->GC &= (uint32)(~0x10000u);
#if !(defined(_RM42x_) || defined(_TMS570LS04x_))
sl_htuREG2->GC &= (uint32)(~0x10000u);
#endif
/* Enable parity on selected RAMs */
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 */
);
#else
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
/*Enable HTU*/
sl_htuREG1->GC |= (uint32)0x10000u;
#if !(defined(_RM42x_) || defined(_TMS570LS04x_))
sl_htuREG2->GC |= (uint32)0x10000u;
#endif
mibspiInit();
canInit();
spiInit();
Their Safety diagnostic library version is 2.4.0.
Thanks and Best Regards,
SI.