Dear Experts
When I enable the selftest in halcogen, a lot of selftest functions in sys_selftest.c has been called in _c_int00(). After read through these functions, I understand what they are doing, and I think maybe this is enough for our product safety requirement. But when my manager asked me if selftest is enough what is safety diagnose lib used for,then I become speechless.
To my opinion, safety diagnose lib and self tests are almostly doing the same thing.
for example: checkFlashECC() and SL_SelfTest_Flash(FLASH_ECC_TEST_MODE_1BIT, TRUE, &failInfoFlash) , both of them test the ecc logic for flash
SL_SelfTest_PBIST( PBIST_EXECUTE,(PBIST_RAMGROUP_07_MIBSPI1 |PBIST_RAMGROUP_08_MIBSPI3 |PBIST_RAMGROUP_09_MIBSPI5 |PBIST_RAMGROUP_10_VIM |PBIST_RAMGROUP_11_MIBADC1 |PBIST_RAMGROUP_18_MIBADC2),PBISTALGO_MARCH13N_RED_2PORT);
versus
pbistRun( (uint32)0x00C00000U /* EMAC RAM */
| (uint32)0x00000000U /* USB RAM */
| (uint32)0x00000800U /* DMA RAM */
| (uint32)0x00000200U /* VIM RAM */
| (uint32)0x00000040U /* MIBSPI1 RAM */
| (uint32)0x00000080U /* MIBSPI3 RAM */
| (uint32)0x00000100U /* MIBSPI5 RAM */
| (uint32)0x00000004U /* CAN1 RAM */
| (uint32)0x00000008U /* CAN2 RAM */
| (uint32)0x00000010U /* CAN3 RAM */
| (uint32)0x00000400U /* ADC1 RAM */
| (uint32)0x00020000U /* ADC2 RAM */
| (uint32)0x00001000U /* HET1 RAM */
| (uint32)0x00040000U /* HET2 RAM */
| (uint32)0x00002000U /* HTU1 RAM */
| (uint32)0x00080000U /* HTU2 RAM */
| (uint32)0x00000000U /* RTP RAM */
| (uint32)0x00008000U /* FRAY RAM */
,(uint32) PBIST_March13N_DP);
are they the same?
SL_Init_Memory(RAMTYPE_RAM); is the same as memoryInit(0x1U);
I am so confused now
I am looking forward to any help. Many thanks
Leo