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.

TMS320F28035: Flash Reliability / Other Persistent Memory Options For Frequently Written Data

Part Number: TMS320F28035
Other Parts Discussed in Thread: C2000WARE

Hello, my project needs to be able to store a piece of data (16 or 32 bits) to memory, maybe once every 10 minutes, and be able to recover it after power off. One idea is to erase a sector of flash and write to consecutive words of flash until the sector is full then erase the sector and start again from the beginning. I have concerns about the limited number of flash erase / write cycles that can be performed before the flash is unusable. I also have concerns about what would happen if the device is powered off while in the middle of an erase / write cycle.

Are there any tricks to minimize these problems? Should this solution be avoided? Is there a better solution? 

Thanks

  • Hi Casey,

    This is possible to accomplish using the on-board flash and there is actually an app note that goes into detail of the process http://www.ti.com/lit/sprab69. However, this may not be the best option for your use case as you may notice reading through said app note and if you take a look at this related E2E post e2e.ti.com/.../1112248.

    Your concerns are valid. Our device datasheet states the flash endurance or number of write/erase cycles to expect. Additionally, the flash API functions should not be interrupted even if the device is still running. Interruptions can cause the flash to be put into a depleted state and result in failures when erasing/programming. This being said, powering off the device while erase/program functions are running would need to be avoided all together.

    As mentioned in that previous E2E post, an external EEPROM would probably be a better option. I believe there is also an example program on C2000ware to get you started with writing to / reading from an EEPROM.

    Hope this helps,
    Kevin
  • Thank you for your feedback. It looks like we will need EEPROM or Supervisor circuit