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.

TDA4VM: ECC: Performing the ECC test on MCU NAVSS UDMASS Aggr activated the ESM and PMIC continuously reset TDA4.

Part Number: TDA4VM

Please refer to the question I asked 2 months ago in below link:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1203718/tda4vm-ecc-didn-t-find-proper-ecc-memtype-matched-with-diagnostic-unique-identifier-inta1-and-dmsc3/4541890?tisearch=e2e-sitesearch&keymatch=%2520user%253A549451#4541890

TI EXPERT said that "The INTA1 diagnostic can be tested by performing the ECC test on NAVSS MODSS Aggr (SDL_NAVSS0_MODSS_ECC_AGGR0), NAVSS UDMASS Aggr (SDL_NAVSS0_UDMASS_ECC_AGGR0) and MCU NAVSS UDMASS Aggr (SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0)."

Now I did it as below shows, but found that the ESM will work, and my software was continuously reset by PMIC.

I have three questions about this phenomenon:

1.My board is new, why this ECC error happened?

2.When ESM detects the ECC error, how to repair this error? 

3.Why the reset is contious, not only once? Is that mean if an ESM error detected, my software will always reset contiously and can't run normally again?

  • Hi,

    I am checking internally, to see if this behavior is expected. Will get back to you by early next week.

    Thanks,

    Josiitaa

  • ok Josiitaa, looking forward to your reply.

  • Hi,

    1.My board is new, why this ECC error happened?

    Is the ECC error triggered only after injecting or does the error occur immediately on ECC init?

    When ESM detects the ECC error, how to repair this error?
    The ESM error event needs to be cleared. SDL ESM module takes care of clearing the ESM error as part of handling the interrupt, but the application’s ESM handler callback has to take care to clear the ECC error event.
    Please refer to the "to clear and acknowledge the ECC interrupt” section in the user guide for guidance: 4.2. ECC : Error Correcting Code — Software Diagnostics Library (SDL) - J721E User Guide. This has also been implemented in the SDL ECC example in the ecc_main.c source code.
    Why the reset is contious, not only once? Is that mean if an ESM error detected, my software will always reset contiously and can't run normally again?
    ECC and ESM cannot reset the board. If PMIC is resetting it, then it may be that PMIC is monitoring the ESM error pin and then resetting if the error pin is not cleared or if the watchdog timer is enabled.Could you please share the logs obtained when the reset occurs?
    The application needs to take care of clearing the error pin after processing an ESM error to indicate that the error has been handled by SW (if it was able to handle it) so that an external monitor won’t take action on it. Clearing of the error pin is mentioned in the example usage of ESM: 4.1. ESM : Error Signalling Module — Software Diagnostics Library (SDL) - J721E User Guide

    Thanks,

    Josiitaa

  • Hi Josiitaa,

    Is the ECC error triggered only after injecting or does the error occur immediately on ECC init?

    The ECC error occured immediately after ECC init:

    The ESM error event needs to be cleared. SDL ESM module takes care of clearing the ESM error as part of handling the interrupt, but the application’s ESM handler callback has to take care to clear the ECC error event.
    The application needs to take care of clearing the error pin after processing an ESM error to indicate that the error has been handled by SW (if it was able to handle it) so that an external monitor won’t take action on it.

    I have configured the MCU ESM event for SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0:

    In  ESM handler callback I clear the ECC error and error pin:

    And PMIC ESM function also configure to START:

    But the log showed that my software still reset continously by PMIC:

    ⚌⚌<⚌⚌⚌⚌⚌@<SBL Revision OSPI: 01.00.10.00 (Apr  1 2023 - 07:01:29)
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    Starting Sciserver..... PASSED
    
    MCU R5F App started at 0 usecs
    
    *********************************************
    *         FT UNIFLASH_SD_ALPHA_1_1_         *
    *********************************************
    RELEASE DATE_ (Apr  2 2023 - 00:03:18)
    
    nor_spi_patterns.bin NOT FOUND!!!
    
    READY to update QSPI device!!!
    flash erase ok!!!
    Update File 0:/uniflash/tiboot3.bin      File size : 1048576 bytes
    ======o(* ̄0 ̄*)ブ=====
    Update File 0:/uniflash/app      File size : 1453879 bytes
    ======o(* ̄3 ̄*)ブ=====
    Update File 0:/uniflash/app      File size : 1453879 bytes
    ======o(* ̄4 ̄*)ブ=====
    MCU Flash Completed. Good to boot
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419302 usecs
    Boot App: Booted Core ID #7 at 419537 usecs
    Boot App: Booted Core ID #8 at 511803 usecs
    Boot App: Booted Core ID #9 at 512043 usecs
    Boot App: Booted Core ID #10 at 512307 usecs
    Boot App: Booted Core ID #11 at 512570 usecs
    Boot App: Booted Core ID #12 at 557025 usecs
    Boot App: Booted Core ID #0 at 663044 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1101186 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419225 usecs
    Boot App: Booted Core ID #7 at 419463 usecs
    Boot App: Booted Core ID #8 at 511712 usecs
    Boot App: Booted Core ID #9 at 511952 usecs
    Boot App: Booted Core ID #10 at 512237 usecs
    Boot App: Booted Core ID #11 at 512488 usecs
    Boot App: Booted Core ID #12 at 557924 usecs
    Boot App: Booted Core ID #0 at 667230 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1106187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 191 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419287 usecs
    Boot App: Booted Core ID #7 at 419523 usecs
    Boot App: Booted Core ID #8 at 511737 usecs
    Boot App: Booted Core ID #9 at 511976 usecs
    Boot App: Booted Core ID #10 at 512240 usecs
    Boot App: Booted Core ID #11 at 512490 usecs
    Boot App: Booted Core ID #12 at 536790 usecs
    Boot App: Booted Core ID #0 at 641134 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1080186 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 191 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419229 usecs
    Boot App: Booted Core ID #7 at 419464 usecs
    Boot App: Booted Core ID #8 at 511718 usecs
    Boot App: Booted Core ID #9 at 511955 usecs
    Boot App: Booted Core ID #10 at 512239 usecs
    Boot App: Booted Core ID #11 at 512489 usecs
    Boot App: Booted Core ID #12 at 556956 usecs
    Boot App: Booted Core ID #0 at 663022 usecs
    
    MCU Boot Task started at 189 usecs and finished at 1101186 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419229 usecs
    Boot App: Booted Core ID #7 at 419464 usecs
    Boot App: Booted Core ID #8 at 511725 usecs
    Boot App: Booted Core ID #9 at 511964 usecs
    Boot App: Booted Core ID #10 at 512247 usecs
    Boot App: Booted Core ID #11 at 512497 usecs
    Boot App: Booted Core ID #12 at 532458 usecs
    Boot App: Booted Core ID #0 at 638897 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1077187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419182 usecs
    Boot App: Booted Core ID #7 at 419417 usecs
    Boot App: Booted Core ID #8 at 511713 usecs
    Boot App: Booted Core ID #9 at 511950 usecs
    Boot App: Booted Core ID #10 at 512235 usecs
    Boot App: Booted Core ID #11 at 512485 usecs
    Boot App: Booted Core ID #12 at 557467 usecs
    Boot App: Booted Core ID #0 at 666793 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1105187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419207 usecs
    Boot App: Booted Core ID #7 at 419442 usecs
    Boot App: Booted Core ID #8 at 511677 usecs
    Boot App: Booted Core ID #9 at 511913 usecs
    Boot App: Booted Core ID #10 at 512182 usecs
    Boot App: Booted Core ID #11 at 512448 usecs
    Boot App: Booted Core ID #12 at 556843 usecs
    Boot App: Booted Core ID #0 at 665441 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1104187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419232 usecs
    Boot App: Booted Core ID #7 at 419468 usecs
    Boot App: Booted Core ID #8 at 511724 usecs
    Boot App: Booted Core ID #9 at 511963 usecs
    Boot App: Booted Core ID #10 at 512232 usecs
    Boot App: Booted Core ID #11 at 512481 usecs
    Boot App: Booted Core ID #12 at 557553 usecs
    Boot App: Booted Core ID #0 at 666913 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1105187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419282 usecs
    Boot App: Booted Core ID #7 at 419518 usecs
    Boot App: Booted Core ID #8 at 511728 usecs
    Boot App: Booted Core ID #9 at 511968 usecs
    Boot App: Booted Core ID #10 at 512233 usecs
    Boot App: Booted Core ID #11 at 512481 usecs
    Boot App: Booted Core ID #12 at 551587 usecs
    Boot App: Booted Core ID #0 at 656882 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1095187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 191 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419324 usecs
    Boot App: Booted Core ID #7 at 419560 usecs
    Boot App: Booted Core ID #8 at 511802 usecs
    Boot App: Booted Core ID #9 at 512039 usecs
    Boot App: Booted Core ID #10 at 512309 usecs
    Boot App: Booted Core ID #11 at 512559 usecs
    Boot App: Booted Core ID #12 at 557461 usecs
    Boot App: Booted Core ID #0 at 666741 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1105187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419232 usecs
    Boot App: Booted Core ID #7 at 419469 usecs
    Boot App: Booted Core ID #8 at 511834 usecs
    Boot App: Booted Core ID #9 at 512071 usecs
    Boot App: Booted Core ID #10 at 512335 usecs
    Boot App: Booted Core ID #11 at 512581 usecs
    Boot App: Booted Core ID #12 at 557681 usecs
    Boot App: Booted Core ID #0 at 666984 usecs
    
    MCU Boot Task started at 191 usecs and finished at 1106188 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419232 usecs
    Boot App: Booted Core ID #7 at 419468 usecs
    Boot App: Booted Core ID #8 at 511727 usecs
    Boot App: Booted Core ID #9 at 511967 usecs
    Boot App: Booted Core ID #10 at 512233 usecs
    Boot App: Booted Core ID #11 at 512484 usecs
    Boot App: Booted Core ID #12 at 557702 usecs
    Boot App: Booted Core ID #0 at 667075 usecs
    
    MCU Boot Task started at 191 usecs and finished at 1105187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419279 usecs
    Boot App: Booted Core ID #7 at 419515 usecs
    Boot App: Booted Core ID #8 at 511732 usecs
    Boot App: Booted Core ID #9 at 511968 usecs
    Boot App: Booted Core ID #10 at 512237 usecs
    Boot App: Booted Core ID #11 at 512486 usecs
    Boot App: Booted Core ID #12 at 557422 usecs
    Boot App: Booted Core ID #0 at 666821 usecs
    
    MCU Boot Task started at 191 usecs and finished at 1105188 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 191 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419285 usecs
    Boot App: Booted Core ID #7 at 419522 usecs
    Boot App: Booted Core ID #8 at 511828 usecs
    Boot App: Booted Core ID #9 at 512064 usecs
    Boot App: Booted Core ID #10 at 512330 usecs
    Boot App: Booted Core ID #11 at 512579 usecs
    Boot App: Booted Core ID #12 at 556783 usecs
    Boot App: Booted Core ID #0 at 662339 usecs
    
    MCU Boot Task started at 190 usecs and finished at 1101187 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    Starting Sciserver..... PASSED
    Boot App: Started at 192 usec
    Boot App: Total Num booted cores = 8
    Boot App: Booted Core ID #6 at 419231 usecs
    Boot App: Booted Core ID #7 at 419466 usecs
    Boot App: Booted Core ID #8 at 511730 usecs
    Boot App: Booted Core ID #9 at 511969 usecs
    Boot App: Booted Core ID #10 at 512239 usecs
    Boot App: Booted Core ID #11 at 512489 usecs
    Boot App: Booted Core ID #12 at 557640 usecs
    Boot App: Booted Core ID #0 at 666903 usecs
    
    MCU Boot Task started at 191 usecs and finished at 1105188 usecs
    testcntcc_MCU: 0, esmInstType: 2, intSrc: 43
    
      ECC Error Call back function called : eccMemType 90, errorSrc 0x2, ramId 80, bitErrorOffset 0x00000000, bitErrorGroup 20
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    SBL Revision QSPI: 01.00.10.00
    current TDA4 MCU application software runs A Bank(default setting)
    Current TDA4 MCU bootloader version: GEELY_DCY11_SBL1.0
    Current TDA4 MCU application version: GEELY_DCY11_F1.2.2_B00
    Current TDA4 MCU software BOM number: 6608033555/A
    TIFS  ver: 20.8.5-w2020.23-am64x-14-g7409e
    current TDA4 is not flashed key: HSFS
    current hardware uses new DDR material: EI11100020
    S
    

    Please help to give any suggestion to make sure that the SW reset only once when an ESM error detected and run normally in the next cycle(not reset continously), thanks!

  • Hi,

    Is the SW reset by PMIC expected to occur in your test case scenario? Could you provide a flow of what you are expecting?

    Thanks,

    Josiitaa

  • I expected that when INTA1 diagnostic error detected, it could be repaired in ESM handler callback and meanwhile reset by PMIC, then in next cycle this error won't happen again after ECC init because has already been repaired  in last cycle. Expected that the SW was not reset once by once. Thanks.

  • Hi,

    Is the application injecting the error in each cycle? If so, when the SW reset occurs, the error will be detected and the ESM callback triggered. This will cause another reset.

    Thanks,

    Josiitaa

  • Is the ECC error triggered only after injecting or does the error occur immediately on ECC init?

    The ECC error is not injected manually , just triggred on ECC init in each cycle.

  • Hi,

    Im not sure that I understand how the error is being triggered in your use case. Are you performing any other tests before that might trigger the error? Could you use the debugger to check which error bit has been set when you run the ECC init function? 

    Thanks,

    Josiitaa

  • Hi, I didn't perform any other tests before the error triggered by ECC init. As the print log showed, ESM handler callback was triggered by error bit 90, i.e.SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0.

  • Hi,

    So there is no error injection performed, but the error bit is being set? Could you connect a debugger and read the value of the SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0 and check if any other bits in the offset registers have been modified? I'm trying to understand which error event has occurred.

    Thanks,

    Josiitaa

  • So there is no error injection performed, but the error bit is being set?

    Yes.

    Could you connect a debugger and read the value of the SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0 and check if any other bits in the offset registers have been modified?

    I am not sure which value you wanted to watch, Could you get anything useful in the print log showed below?

  • Hi,

    It looks like the bit may be set even before ECC init. Could you connect a debugger to see when exactly the bit is being set? Dump the memory of SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0 at 0x28381000 and step through the code to see when the bit is being set.

    Thanks,

    Josiitaa

  • Hi Josiitaa,
    It can be read related register valude. Do you have any other better idea to debug it?

  • Hi,

    Could you let me know exactly during which the bit is being set? If not, the only way to move ahead would be to clear the ESM error and move ahead.

    Thanks,

    Josiitaa

  • hi, josiitaa:

    Same case, after initializing the ECC function of the MCU_NAVSS0_UDMASS module, bit16 at address 0x283811148 is set to 1 immediately,  and ESM interrupt is triggered,NAVSS0_UDMASS has same bug:

  • Hi,

    Catching up on this thread, thank you for sharing the bits of concern. 

    Wanted to check if the bits when set, can be cleared as documented in errata i2191 workaround, prior to enabling the ECC aggregator.

    The steps to follow to clear bits are in the SDL ECC documentation:

    Look for the section about “to clear and acknowledge the ECC interrupt”

    Additionally, depending on the ESM configuration, the ESM error pin, may need to be cleared as well.

    Look for the section “If an error pin is asserted…”

    Thanks,

    kb

  • Hi, KB:

    i has cleared and acked the ecc interrupt in application callback function:

    but  after exiting the interrupt, bit16 is immediately set again,the interrupt keeps trigering:

    According to the i2191 solution, can only mask the corresponding interrupt?

  • Hi,

    Are you running some usecase that could be continually triggering the situation that causes the errata (and the ECC event)? This would be something like a DMA transfer ongoing. If this is the case and your usecase involves running some DMA that will keep triggering the errata, then we will have to suggest that you disable the endpoint entirely. Could you provide information on what is being run when this error is observed so that we can rule this out?

    Regards,

    Josiitaa

  • hi, josiitaa:

    I tried to mask the interrupt of ramid_80, i cleared bit16 at addr 0x28381138, but interrupt still trigered:

    The hardware debugger shows that bit16 has been cleared:

    so, how i mask the interrupt of ramid_80?

  • hi, josiitaa:

    sorry, i actually  cleared bit16 at addr 0x283811C8, not addr 0x28381138

  • Hi,

    I am checking internally with the experts. I will get back to you.

    Regards,

    Josiitaa

  • Hi,
    Can you try clearing the error event in the registers before calling the SDL_ECC_init()?
     
    You will need to check to see what the bit error count is, then call:
     
    SDL_ECC_clearNIntrPending(SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0, 80, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT, SDL_ECC_AGGR_ERROR_SUBTYPE_NORMAL, <bit error count>);
    SDL_ECC_ackIntr(SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT);

    Regards,

    Josiitaa

  • hi, josiitaa:

    after testing, the operation that clearing the error event in the registers before calling the SDL_ECC_init() is useless

  • Hi,

    I will have to check with the internal HW and IP teams to see if there is any other way out of this issue. I will post an update once I hear from them.

    Regards,

    Josiitaa

  • Hi,

    Can you try this in SDL_ECC_init were you were trying to mask the event to see if this prevents the interrupt from happening:
     
    1. Comment out the calls to SDL_ecc_aggrEnableIntrs()
      1. This will prevent the event interrupt from being enabled even for a short period of time
    2. Before the call to SDL_ECC_getAggregatorType(), add calls to SDL_ecc_aggrEnableIntr for SEC and DED:
      1. SDL_ecc_aggrEnableIntr(eccAggrRegs, ramId, SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT);
      2. SDL_ecc_aggrEnableIntr(eccAggrRegs, ramId, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT);
    3. In the configuration structure with the list of endpoints (pMemSubTypeList) that the application passes to the SDL_ECC_init call, remove the endpoint which you want to disable.
     
    This should prevent the endpoint’s interrupt from ever getting enabled, even for a short period.
    Regards,
    Josiitaa