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.

LP-MSPM0L1306: how do i know if there is error in ECC of flash memory?

Part Number: LP-MSPM0L1306
Other Parts Discussed in Thread: MSPM0L1306, MSPM0G3507, MSPM0L1303

Hi TI,

I am using SDK version 1.10.0.05, in dl_flashctl.h, i see in line 2558, there is no output indicating that the ECC of a memory location is corrupted. May I know How should I check for such thing?

Thank you.

  • Hi Xiao,

    Are you using the MSPM0L1306 as specified in the post title? Those devices do not have ECC protected flash.

    For understanding how ECC errors are handled, you may want to take a look at the flashctl_ecc_error_injection example in the MSPM0G3507 section of the MSP-M0 SDK. A Single bit error (SEC) is corrected, and the function DL_SYSCTL_getStatus can be used to readback if a SEC has occurred.

    A DED (double-bit error) will trigger a non-maskable interrupt, that has to be handled by your program. 

    I do see that it doesn't return DL_FLASHCTL_COMMAND_STATUS, to indicate if the readverify passed or failed, which I think is what you are referring to. I have to check with my software team to be sure, but that may be because these devices are single-bank flash right now, and writes to flash should really be run from SRAM. There is an equivalent function that does this called DL_FlashCTL_readVerifyFromRAM64WithECCGenerated that you should use instead.

    Best Regards,
    Brandon Fisher

  • I am using MSPM0L1303. guess it has no ECC too.
    DL_FlashCTL_readVerifyFromRAM64WithECCGenerated only return if the command is executed successfully, but didn't return status of ECC.
    Anyway now I know i cannot use ECC. Thank you