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.
I am interested in trying to use the MSP430F5229 for EEPROM emulation to store some data which the application will update periodically during runtime. I know from some worst case estimates that portions of the data may be updated and changed as frequently as once per minute. Additionally, the total amount of data which will need to be saved and treated like EEPROM exceeds the size of one of the INFOMEM segments on this MSP430 (128bytes).
My first thought was to try to use all 4 of the INFOMEM segments, and each time one of the segments filled up and a value needed to be updated I would copy it to one of the other segments with the updated values and then erase the previous segment, but I am not convinced that doing so would be feasible with the amount of data we will have and the frequency of some of the data changes while still maintaining a reasonable lifetime for the product (~10 years). I am aware that I could (and would likely need to) allocate other flash segments to be used for this data instead of the INFOMEM as a way to reduce how frequently the segments will need to be erased, thus increase the lifetime of the product.
Previously I have used MCUs from Renesas which have data flash segments and Renesas provides some tools for implementing EEPROM emulation in those segments. Does TI provide any tools for assisting implementing EEPROM emulation and managing wear leveling on the MSP430s, aside from switching to one of the MCUs in the MSP430 FRAM family? Or is the only solution to define our own wear leveling algorithms and EEPROM implementation to use with the MSP430?
Hi Joe,
You might find this thread relevant:
You might also find this report useful:
https://www.ti.com/lit/an/slaa729a/slaa729a.pdf
Hope this helps.
BR,
Leo
Hi Leonardo,
Thank you for the quick response.
I had read through both that thread and SLAA729A, but I was unsure if there had been any changes in the 7 years since that thread was created. Additionally, it was the note in section 2.4 Flash Endurance of SLAA729A, "If your application is at risk of pushing the limits of flash endurance, consider writing a flash wear leveling algorithm or switching to one of TI's FRAM-based MSP430 microcontrollers.", which lead me to look into the FRAM-based MSP430s and I saw that it seems it is much easier to store non-volatile data on a FRAM-based MSP430. But again with that document being over 4 years old I was unsure if there had been any changes since then, such as any software tools/application code which TI provided/supported, which would assist with EEPROM emulation on non-FRAM-based MSP430s.
Is it correct for me to say that any EEPROM emulation and wear leveling for an application running on a non-FRAM-based MSP430 would need to be wholly developed by the user and that TI does not create/distribute any tools/code for doing such?
Thank you again for your response, I appreciate it.
Hi Joe,
I'm only aware of this reference design for FRAM devices:
https://www.ti.com/lit/ug/tidubi8a/tidubi8a.pdf
BR,
Leo
**Attention** This is a public forum