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.

Is safety diagnose lib doing the same task as self test?

Other Parts Discussed in Thread: HALCOGEN

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