Part Number: TMS320F28075
Hi Experts,
My customer is have RAMUNCERR error issues at field.
The ERROR happens randomly occur on products that deployed in different locations, so far the issue has never occur on the same device for a second time, and the issue is never reproduced in the lab.
The issue will cause a reset (due to NMIWD). Cusotmer would know about that there has been a reset occured on certain product, and they will go to the field to check it. The device would function normally after the reset, therefore by the time their FAE reach the product, the issue is not there anymore. They read the NMIFLG, and found that the RAMUNCERR flag is set.
There are about 20 events happend year to date, so they are now paying attention to the issue and try to find the root cause.
- Given the fact that the device would reset when the issue occur, is there any register that is preserved after reset, so that they can read it and know about what happend before the reset? (Apart from NMIFLG because they already read it). This will help customer get preperared for the field diagnosis when the next event happens.
- Where the RAM is getting initalized? - One guess is that the RAM is not initalized after POR, and the data and ECC does not align. Accessing such location would certainly cause a UNCERR. All the variable are initlized in Cint00, so variables should be safe. However, there might be a pointer access that goes wild and read unexpected address. This would not cause UNCERR is the address has been initialized. So we are checking weather in ROM or user code that the full range of RAM are initilized, could you pleae help checking if the ROM initilize the full range of RAM?
- What might be the casue of the RAMUNECC? In all we are looking for every possible cause UNCERR, so that we can deploy some kind of probe the verify it.
In the meantime, they can barely change the code of the shipped products because great amount of them do not have OTA function.
Regards,
Hang