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.

TMS570LC4357: L2RAM SafeTI Diagnostics Library test (SL_SelfTest_SRAM) issue

Part Number: TMS570LC4357

Hi,

I am working on L2RAM self-test to inject single and double bit errors and to verify each error type is properly detected
and reported by the ECC logic per TRM section 8.2.6(SPNU563A).
Used code from SafeTI Diagnostics Library test SL_SelfTest_SRAM and tried to integrate with our project.

When executed below line of code, it crashes and jump to location as shown below.
Please find below snap shot when it tried to read from 0x08416260, it says fail to read from this location.
Could you please help, if i am missing anything. Also tried to execute this before STC self-test. Still same issue.

sl_l2ramwREG->DIAG_ECC = (*eccB1) ^ L2RAM_SYN_2BIT_DATA_ECC;

  • Hi Dhana,

    What changes did you make to  SL_SelfTest_SRAM() function? 

    I run SRAM self-test, and it works ok:

    1. retVal = SL_SelfTest_SRAM(SRAM_ECC_ERROR_FORCING_1BIT, TRUE, &failInfoTCMRAM);

    ESMSR2 = 0x80   --> ESM 2.7 = 1

    DRSE=1, Diagnostic Read Single-bit Error.

    and DWSE=1, Diagnostic Write Single-bit Error

    2. retVal = SL_SelfTest_SRAM(SRAM_ECC_ERROR_FORCING_2BIT, TRUE, &failInfoTCMRAM);

    DRDE=1, and DWDE=1  (RAMERRSTATUS register)

  • Hi Wang,

     

    Thank you so much for spending time on this. I used Safety library Version 2.4.0 completely except below lines of code.

    When included this SL_ESM_nERROR_Active function detects as True. I believe this is fine as TRM says "ERROR pin is high if no error has occurred".

    Is this will impact the test. 

     And still getting same data abort error as mentioned in previous mail. Do i need to check anything else.

    And just want to know if eccB1 value is 0x08416260 in your code also and you are able to read the location.

     Once again thanks for all your help.

     

     if((TRUE) == SL_ESM_nERROR_Active())

        {

    #if (FUNC_ENTRY_COND_CHECK_LOG_ENABLED !=0)

            SL_Log_Error(FUNC_ID_ST_SRAM, ERR_TYPE_ENTRY_CON, 3U);

    #endif

            return(retVal);

        }

  • Hi Wang,

    I observed when _mpuInit_() function is called before L2RAM test, getting data abort error as mentioned, may be it protects memory. When i disabled mpu by calling _mpuDisable_ function before L2RAM ECC test, it works fine for both single bit and double bit. Thank you so much for all your help.