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.

TMS320F2808 Seems to be losing firmware, why?

Other Parts Discussed in Thread: UNIFLASH

Hi,

I'm using a SM320F2808PZMEP processor and usually they work fine. But occasionally I get some that come back as failed and the processors no longer seem to be running the firmware that they were originally programmed with. An obvious sign of this is that it's supposed to blink one of the LEDs and it longer does.

After reprogramming the processor over JTAG, everything seems fine. I'm trying to figure out what could be causing this. Any ideas? Although I'm not running in to this issue that frequently I've probably seen it on about 2-4% of the boards that have been deployed.

I've check the power supplies and everything seems fine, so I'm at a bit of a loss as to what could be causing this. I'm using a power-on reset circuit, although there is nothing to guarantee that it did not see some very frequent power resets due to intermittent connections at some point in its life.

Let me know if I left out any important details.

  • David,

    Your theory is that the flash memory is loosing data retention.  But you haven't confirmed that really.  The next time you get a return with this symptom, use the debugger (CCS) to do a file dump of the entire flash contents, rather than re-flashing the device.  You can also do a data dump from a known good device that is running the EXACT same code.  Then you can compare the suspect and good dumps and see if in fact there is a data retention problem.

    If the flash was programmed properly, data retention should easily last one to two decades.  Actual data retention is  statistical expressed as a FIT number (Failure in time).  So, to be clear I am not saying that any given device retains its data for 10 or 20 years, and then looses its marbles.  I'm just giving a feel that flash should generally be good for 10 to 20 years before you'd start to see an increase in data loss failures.  I think your 2-4% failure rate is too large to be a normal occurrence.

    I guess I should ask, how long have these devices been deployed, and at what temperature are they typically stored and/or operated at?

    Regards,

    David

  • David,


    I couldn't find an option to do a file dump of the entire flash in CCS, do you know where I might be able to find that?

    I was however able to dump what I believe are all of the flash sectors using CCS Uniflash to extract the flash from the processor, and it appears that the first two thirds of the flash is all FF's. This is entirely inconsistent with the other devices from which I have extracted the flash.

    Do you have any other suggestions as to what I could try to troubleshoot this problem?

    Thanks,

    David

    EDIT: It appears that one of our flash sectors has been partially erased. I'm guessing this might be due to an interrupted bootloading, unfortunately I don't have a very good history on this board, so I'm not sure if bootloading was attempted and power might have been interrupted. However, the bootloading code seems to be present in the flash (sector A), but it does not appear to be running.

  • Well, the symptoms I'm seeing do seem to match with the symptoms that I replicated of a failed bootload. The bootloader erases the flash, and after the flash has been erased the power must have been lost.

    David: You mentioned the effects of temperature on flash lifetime, do you have any documentation on that or resources you could point me to?

  • Hello David,

    David Erdos said:

    I couldn't find an option to do a file dump of the entire flash in CCS, do you know where I might be able to find that?

    In CCSv5, you can do a dump from the Memory Browser window.  Click the green chip looking icon with the up and to the right arrow in it:

    What you put in the filename, take note of the comments on the screen concerning the file extension.  The file extension determines the file dump format.

    David Erdos said:

    I was however able to dump what I believe are all of the flash sectors using CCS Uniflash to extract the flash from the processor, and it appears that the first two thirds of the flash is all FF's. This is entirely inconsistent with the other devices from which I have extracted the flash.

     
    Hmmm, flash data retention doesn't fail that way.  You don't wake up one morning and have the entire flash erased (all 0xFFFF).  Flash cells are like batteries.  You leave them on the shelf for a while and eventually yes, they do all discharge (meaning 0xFFFF).  But, you'd get a bit or two that would dip below the threshold for a 0 and show a 1, and then a few more, and so on.  It is a gradual process where you'd get retention failures with a slowly increasing number of bits over time.
     
    It's starting to sound like your bootloader, which has capability to reflash the device, is the cause of the problem.  Maybe it is somehow getting activated when it shouldn't?
     
    - David