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.
Considering using and MSP430 FRAM for a new application, but need clarification on a couple of items:
1. "read and write endurance" is specified in the data sheet (msp430fr5739) as 10^15 cycles.
Does this 10^15 cycle (min.) specification apply to program instruction fetch?
If it does, this implies (((10^15/24MHz)/(60 sec/min))/(60 min/hour)) = 11.5 khours,
so does this mean that part dies after 11500 hours?
2. Does declaring variable with __persistent automatically place the variable in FRAM?
For example, is __persistent float test_variable = 5.67 placed in FRAM for nonvolatile storage?
Also, can this be changed during runtime; for example, can I write test_variable = 9.87, and this will be stored nonvolatile -- like from a run-time calibration/adjustment routine?
Thanks.
78Sys said:2. Does declaring variable with __persistent automatically place the variable in FRAM?For example, is __persistent float test_variable = 5.67 placed in FRAM for nonvolatile storage?
Also, can this be changed during runtime; for example, can I write test_variable = 9.87, and this will be stored nonvolatile -- like from a run-time calibration/adjustment routine?
Yes, the __persistent keyword will make the variable placed in FRAM. In the IAR tools, this corresponds to the DATA16_P and DATA20_P segments.
Effectively, this mean that the downloader will write the initial value to the memory cell, just like it does with constants, when the device is initially programmed. However, the initialization code in the application will not change the value in any way, so the latest value is retained whenever the device is restarted.
-- Anders Lindgren, IAR Systems, Author of the IAR compiler for MSP430
**Attention** This is a public forum