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.

AM5746: EMIF ECC processing

Part Number: AM5746

Hi.

Would you tell me how to use ECC (EMIF) ?
・How to get the number of 1-bit errors(How to use EMIF_1B_ECC_ERR_CNT)
・How to add interrupt processing at 2-bit error

Regards,
Rei

  • Hi,

    Please post which Processor SDK you are using, and what version?

  • Hi Biser,

    Thank you for your prompt reply

    AM5746

    pdk_am57xx_1_0_11

    bios_6_76_00_08

  • Rei,

    We do support an example for test DDR ECC in the CSL-FL examples that is available at the location here:

    pdk_am57xx_1_0_xx\packages\ti\csl\example\ecc  (Refer to ReadMe.txt )

    The details regarding EDC\ECC support on AM572x are explained in the application notes here:

    http://www.ti.com/lit/an/sprac42b/sprac42b.pdf 

    The SBL and the board library  as well as the GEL files in CCS for AM574x also supports enabling DDR ECC function at the time of boot and to prime the DDR region to support ECC feature.

    To run the CSL FL example you will need to follow the steps indicated below:

    Build and setup 

    • Need to execute top level make to create CSL examples.
    • Need to have ECC enabled in GEL.
    • Need to run top level makefile to create the example binaries.

    Running code from A15:
    Connect to A15 core
    Load pdk_am57xx_<version>/packages/ti/binary/csl_ecc_test_app/bin/idkAM574x/csl_ecc_test_app_a15_0_release.xa15fg
    Run.
    UART port will display menu: Follow menu options to execute the tests.

    Log of test run that check DDR ECC 

    **** ECC TEST ****
    Menu:
    1. EMIF ECC TEST
    2. OCMC RAM ECC TEST
    x. Exit
    Select ECC TEST : 1
    
    **** EMIF ECC TEST ****
    Menu:
    1. EMIF NON ECC QUANTA ALIGNED ADDRESS test
    2. EMIF BYTE COUNT WRITE ACCESS NOT MULTIPLE OF ECC QUANTA test
    3. EMIF SEC ERR ECC test
    4. EMIF DED ERR ECC test
    x. Exit
    Select EMIF ECC TEST : 1
     EMIF ECC -- Non EccQuanta Align Address Err Test Pass!! 
    
    **** EMIF ECC TEST ****
    Menu:
    1. EMIF NON ECC QUANTA ALIGNED ADDRESS test
    2. EMIF BYTE COUNT WRITE ACCESS NOT MULTIPLE OF ECC QUANTA test
    3. EMIF SEC ERR ECC test
    4. EMIF DED ERR ECC test
    x. Exit
    Select EMIF ECC TEST : 2
    EMIF ECC-ByteCnt WRAccess Not Multiple of EccQuanta Err Test Pass!!
    
    **** EMIF ECC TEST ****
    Menu:
    1. EMIF NON ECC QUANTA ALIGNED ADDRESS test
    2. EMIF BYTE COUNT WRITE ACCESS NOT MULTIPLE OF ECC QUANTA test
    3. EMIF SEC ERR ECC test
    4. EMIF DED ERR ECC test
    x. Exit
    Select EMIF ECC TEST : 3
    EMIF ECC -- SEC ERR Test Pass!! 
    EMIF ECC -- SEC ERR Occured at Address 
     
    Number of Error Addresses 
     0x2
    0x90000100
    0x90000200
    
     EMIF ECC -- SEC ERR Occured at Bit Mask : 0x10010000
    
    
    **** EMIF ECC TEST ****
    Menu:
    1. EMIF NON ECC QUANTA ALIGNED ADDRESS test
    2. EMIF BYTE COUNT WRITE ACCESS NOT MULTIPLE OF ECC QUANTA test
    3. EMIF SEC ERR ECC test
    4. EMIF DED ERR ECC test
    x. Exit
    Select EMIF ECC TEST : 4
     EMIF ECC -- DED ERR Test Pass!! 
     EMIF ECC -- DED ERR Occured at Address : 
     0x90000100
    
    **** EMIF ECC TEST ****
    Menu:
    1. EMIF NON ECC QUANTA ALIGNED ADDRESS test
    2. EMIF BYTE COUNT WRITE ACCESS NOT MULTIPLE OF ECC QUANTA test
    3. EMIF SEC ERR ECC test
    4. EMIF DED ERR ECC test
    x. Exit
    Select EMIF ECC TEST : x
    EMIF ECC test exiting...
    
    **** ECC TEST ****
    Menu:
    1. EMIF ECC TEST
    2. OCMC RAM ECC TEST
    x. Exit
    Select ECC TEST :