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.

AM2634: Using ECC with SysConfig

Part Number: AM2634
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi

In the latest SDK (TI_mcu_plus_sdk_am263x_10_02_00_13) it is possible to configure the SDL via SysConfig. There are no examples how to use it correctly.

While CCM/ESM worked great, I face multiple problems when trying to detect ECC errors in L2RAM and TCM:

- Init for R5FSS0_CORE0_ECC_AGGR / SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK0_RAM_ID leads to a crash.
- Init for SOC_ECC_AGGR / SDL_SOC_ECC_AGGR_MSS_L2_SLVx_ECC_RAM_ID works, but when an error is injected, ESM callback is not called, although the corresponding interrupt has been activated

Is there anything important to now? I assume that the ECC has already been activated on these memory modules in the bootloader (sbl_qspi).

Thanks for any help.

  • Hi Dominik,

    - Init for R5FSS0_CORE0_ECC_AGGR / SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK0_RAM_ID leads to a crash.
    - Init for SOC_ECC_AGGR / SDL_SOC_ECC_AGGR_MSS_L2_SLVx_ECC_RAM_ID works, but when an error is injected, ESM callback is not called, although the corresponding interrupt has been activated

    Is there anything important to now? I assume that the ECC has already been activated on these memory modules in the bootloader (sbl_qspi).

    My sincere apologies for delayed response.

    We tested this on our side, and we didn't see any issues in execution.

    Here is our output:

    [Cortex_R5_0] 
    ECC Example Application
    
    ECC UC-1 and UC-2 Test 
    
    ECC_Test_init: Initialize of MSS L2 ECC Memory is complete 
    
    ESM_Test_init: Init MSS ESM complete 
    
    ECC_Test_init: MSS L2 ECC initialization is completed 
    
    MSS L2 RAMB Single bit error inject: starting 
    
    ESM Call back function called : instType 0x2, intType 0x1, grpChannel 0x0, index 0x13, intSrc 0x13
     
    Take action 
    
    High Priority Interrupt Executed
    
    ECC Error Call back function called : eccMemType 0, errorSrc 0x1, ramId 2, bitErrorOffset 0x00000002, bitErrorGroup 0
    
    MSS L2 RAMB Single bit error inject at pErrMem = 0x70100008 and the value of pErrMem is 0x00000000 :test complete
    
    Waiting for ESM Interrupt
    
    UC-1: Injected 1-bit error and got ESM Interrupt 
    
    MSS L2 RAMB Double bit error inject: starting 
    
    ESM Call back function called : instType 0x2, intType 0x1, grpChannel 0x0, index 0x14, intSrc 0x14
     
    Take action 
    
    High Priority Interrupt Executed
    
    ECC Error Call back function called : eccMemType 0, errorSrc 0x2, ramId 2, bitErrorOffset 0x00000001, bitErrorGroup 0
    
    MSS L2 RAMB Double bit error inject: pErrMem fixed location = 0x70100008 once test complete: the value of pErrMem is 0x00012002
    
    Waiting for ESM Interrupt 
    
    UC-2: Injected 2-bit error and got ESM Interrupt
    
    All tests have passed. 

    Check this one once and if needed we can setup one live debugging session.

    --
    Thanks & regards,
    Jagadish.