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.

TMS570LS0714: FLASH_ECC_TEST_MODE_2BIT Problem

Part Number: TMS570LS0714

Hi,

we use a TMS570LS0714 and have implemented the diagnostic test for the Flash in our application firmware.

Periodically we run this tests with test type FLASH_ECC_TEST_MODE_2BIT but the firmware hang after the instruction:

flashread = *(volatile uint32 *)flashBadECC2; (line 1280 of sl_selftest.c version 2.4.0)

How can we manage it?

NOTE: In the first part of the flash (from 0 to 0x0020000) we have made a custom bootloader version with ECC disabled. It could be a problem?

Thank you.

BR

  • Hello Lorenzo,

    Can you provide more details on what you mean by the firmware hangs? Does it enter a while(1) loop or does the MCU lock up? Are you able to connect with the debugger when it is in this condition and see where it is in the code? Also, what have you implemented with respect to your double bit error handler? When a double bit error is detected, an NMI will fire and the nERROR pin should assert. Are you seeing any of these results?
  • I forgot to mention regarding your note that for your bootloader with ECC enabled, you should, at least, program the ECC bits so you do not end up with abort caused from a speculative fetch when running the application code. you should also consider initializing the MPU in the application to restrict access to the Flash memory where the boot code exists to prevent inadvertent execution in that area. This will also help with the speculative fetch issue.
  • Thank you Chuck.

    I check the code and I find the bug, I've correct..

    Ok for the bootloader info.

    Many thanks.