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.

TMS570LS1224: Flash ECC Proper Initialization Sequence

Part Number: TMS570LS1224

Dear TI Experts,

I am following the SPNA106D which shows the standard initialization sequence for this MCU.

My question is related to the following steps:

  • Step 3. ( Enable the flash interface module's response to an ECC error indicated by the CPU on accesses to flash (Section 2.3). ), and
  • step 5. ( Enable the CPU's Single-Error-Correction Double-Error-Detection (SECDED) logic for accesses to Flash memory (CPU's ATCM interface) (Section 2.5).

One of these steps is represented by the function void _coreEnableFlashEcc_(void) declared in sys_core.h, correct?

Is it step 3 or step 5 that this function represents, or neither?

Does it matter whether the function _coreEnableFlashEcc_(void) is executed before step 4 (Enable the CPU's Event Bus export mechanism (Section 2.4))?

It probably is not directly related, but I executed the function _coreEnableFlashEcc_(void) after Step 4 and it was the last execution before stepping into _dabort , after which the evaluation board produced a spark near the buttons next to the error LED and is currently not operational.

 

Could You please tell me the proper initialization sequence for the Flash ECC in order to reduce the probability of me sacraficing another evaluation board?

 

Thank you in advance!

 

Kind regards,

Mihail

 

  • Hi Mihail,

    The no-working board may be caused by the circuitry around nERR LED and nERR pin. I don't think that the ECC enable sequence causes the board issue.

    1. Normally, The CPU event bus should be enabled first  -- CP15 register

    2. Enable the ECC in Flash Wrapper level  -- EDACEN[3:0] of FEDACCTRL1 register

    3. Enable CPU ECC checking  -- CP15 register

    If ECC is enabled in the CPU, but not in the wrapper, the CPU will still check and correct single-bit ECC errors, and generate aborts on uncorrectable errors for the main Flash. However, the generation of ESM events will be prevented.

    When uncorrected error occurs, the nERR pin is pulled LOW. If this pin is connected to red led, it will turn on this error indication LED. 

  • Thank You for the reply!