Part Number: TMS320F28075
Hello,
We are using a TMS320F28075 DSP in a device. The ECC check is enabled for the flash memory. As per the errata the error threshold is set to > 0. (In our case it was being set to 1.). The application regularly checks for UNC_ERR_INTFLG (uncorrectable error interrupt flag) and the ERR_CNT (ECC error count). If either the UNC_ERR_INTFLG is set or if the ERR_CNT is greater than 0, the system signals a fault to the user and forces them to do a system reset. Over many, many hours of testing using dozens of different devices, this has only occurred a few times. However, it has come up a few times recently as we finalize the design and it has been difficult to correlate these faults with a root cause. According to the lead developer, when the fault is detected, the application is not writing to flash. For the near term, based on information in the reference manual, we are going to increase the error threshold to a much larger value. However, we would like to get a better understanding of the root cause.
My initial questions are this:
- What is the best reference for understanding how the flash ECC works? (I have not used devices with ECC and so I am not very familiar with the technology. I’ve read relevant sections in the DSP reference manual and some other notes but if there was a clearer high-level picture that would be helpful.)
- Have you heard of this issue with other DSP users?
- The application does not use the OTP space but it does use the emulated EEPROM feature. Could this have an effect?
Thank you.