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.

TMS570LS3137: Trying to generate Flash ECC double-bit error

Part Number: TMS570LS3137

Hello there,

I'm trying to generate a double-bit Flash ECC error by issuing a 64-bit read to address 0xF00803F8, according with instruction of SPNU499C para. 5.4.2.5, stating that:

5.4.2.5 Deliberate ECC Errors for FMC ECC Checking
Deliberate single-bit and double-bit errors have been placed in the OTP for checking the FMC ECC
functionality. Any portion of the 64 bits in TI OTP bank 0 location F008 03F0h through F008 03F7h as
shown in
Figure 5-6 will generate a single-bit error. Any portion of the 64 bits in TI OTP bank 0 location
F008 03F8h through F008 03FFh as shown in
Figure 5-6 will generate a double-bit error.

with the following simple code:

ecc = *(u64 *) 0xF00803F8;

The following this read, ecc is indeed equal to 0x123456789ABCDEF0, as per the manual, so the read is successful at the right address. However, the nERROR pin is not activated and the supposedly generated ESM interrupt to Group2 high priority (unmaskable) at interrupt vector 0 was not entered.

Anything that I've done wrong?

Thanks.

  • Hello,

    The Data at 0xF00803F8 is 0x123456789ABCDEF3, and the ECC for this data is 0x56 which is not correct. The correct ECC of 0x123456789ABCDEF3 is 0x50.

    When you read the data at 0xF00803F8, you will get 2-bit ECC error, and the ESM 3:7 will be set. nError pin is asserted.

    Please double check if the flash ECC is enabled.

  • Hi,

    The OTP is protected by SECDED logic in the Flash wrapper. Please enable it using:

    flashWREG->FEDACCTRL1 = 0x000A060AU;

  • Hi QJ,

    The FEDACCTR1 is all about correctable single bit errors (ESM event 1.6), according to its definition in the SPNU499C doc. From your previous post I understand that when there is uncorrectable double bit error, ESM event 3.7 will be triggered, which is what I'm looking for.

    Is there a similar control register for uncorrectable double bit errors activation?

    Otherwise what are the logics here?

    Thanks.

  • Hi,

    The EDACEN of FEDACTR1 enables ECC detection and correction in Flash wrapper whatever the error is 1-bit or 2-bit ECC error.