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.

TMS320F28335: TMS320F28335 flash memory corruption

Part Number: TMS320F28335
Other Parts Discussed in Thread: UNIFLASH

Hello,

I'm a firmware engineer, mainly working with C2000 target TMS320F28335.
Recently, we got some problems regarding the DSP's memory flash corruption, the program area is corrupted and the product fails in the field. Up to now we had this problem on 0.3% of our products, which is very high.
In the TMS320F28335 datasheet, TI mentioned that an unintended flash program or erase can occur if the power down sequencing is not respected. (page 43 of the datasheet)

Is there any other cases where the flash erase or program can occur unintendedly?

Did other users of this target report the same flash corruption issue?

Please let me know if you want me to share any additional information.

From our side is so critical, we need to understand the root cause and fix it.

I will appreciate any help on this topic.

Thank you.

  • Samy,

                  Please answer the below questions as accurately possible:

    1. How long does it take for the failure to show up?
    2. What is the exact nature of failure?
    3. On a failed device, are you able to connect it to CCS to examine the flash content?
    4. If so, are you able to determine the extent of flash corruption? For example, do you see a few bits flipped or a few words or few sectors?
    5. Are you able to reprogram the device?
    6. What method do you use program the device?
    7. Can you provide a scope capture during power-down of the following signals: VDDIO, VDD, -XRS
  • Hi Hareesh,

    Thank you for your reply.

    Please find my answers below:

         1.How long does it take for the failure to show up?

    I don't have the exact information but the failure occurs in the field.

    The product is tested in our facilities => the product is shipped to our customer => our customer mount it in the final system and test it => the product goes to the field where the failure occurs.

    We can observe that it does not show up quickly.

        2.What is the exact nature of failure?

    The DSP's flash memory is corrupted, some sectors [B to H] contain 0xFF and others contain 0x00, except the sector A where only one board presented a corrupted data (some bytes contained the wrong value).

       3.On a failed device, are you able to connect it to CCS to examine the flash content?

    I'm using UniFlash without any problem

       4.If so, are you able to determine the extent of flash corruption? For example, do you see a few bits flipped or a few words or few sectors?

    Sectors state Start address End address DSP's flash status
    Sector H 300000 307FFF Not identical, Empty (0xFF)
    Sector G 308000 30FFFF Not identical, Empty (0xFF)
    Sector F 310000 317FFF Identical (empty (0xFF)) 
    Sector E 318000 31FFFF Identical except the last 128 bytes that are null (0x00)
    Sector D 320000 327FFF Not identical, Null data (0x00)
    Sector C 328000 32FFFF Not identical, Null data (0x00)
    Sector B 330000 337FFF Identical (empty (0xFF))
    Sector A 338000 33FFFF Identical, contains data

       5.Are you able to reprogram the device?

    Yes

       6.What method do you use program the device?

    UniFlash

       7.Can you provide a scope capture during power-down of the following signals: VDDIO, VDD, -XRS

    I need to capture them, I will reply following this post.

    Thank you

  • OK, looks like when the flash is corrupted, it does not retain any part of the programmed application but the sectors are filled with either 0xFFFF or 0x0000. 

    1. Is the device subjected to lot of power on/off cycles?
    2. After the device is shipped out of your facility, is the flash reprogramed in the field?
    3. How long has this design been in production?
  • Hi Hareesh,

    Please find my answers below:

    1. Is the device subjected to lot of power on/off cycles?
      Yes lot of power cycles. I did a separate test with power cycling for more than 100,000 cycles with no failure.
    2. After the device is shipped out of your facility, is the flash reprogramed in the field?
      The device is programmed in our costumer's production line, but not in the field.
    3. How long has this design been in production?
      Since 2016/2017.

    I have some questions regarding the F28335 flash memory:

    1. Is it correct that the F28335 flash technology is NOR?
    2. What is the estimated life span of this flash memory?
    3. What is the absolute max storage temperature that ensures holding flash data with no corruption?

    Thank you

  • Yes lot of power cycles. I did a separate test with power cycling for more than 100,000 cycles with no failure.

    OK. However, if you did this experiment with just one device, we shouldn't rely too much on this data.

    Since 2016/2017.

    OK, that does provide some level of confidence. Regardless, I'd like to look at the power-down waveform. Till date how many boards have you shipped over the lifetime of the product (i.e. from 2016) and how many failures have you seen. Feel free to share this data privately with me. You can do so by initiating a friendship request with me. Simple hover the cursor over my name, for options.

    Is it correct that the F28335 flash technology is NOR?

    I need to check on this with the flash experts. Potentially, a NDA may be warranted to disclose this information, if at all.

    What is the estimated life span of this flash memory?

    15 years, for the conditions shown in page 95 of www.ti.com/lit/SPRS439.

    What is the absolute max storage temperature that ensures holding flash data with no corruption?

    150'C shown in the datasheet is the Absolute Max temperature. 125'C should be fine.