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.
Part Number: MSP430F5437A
I am working on MSP430F5437A, and observed that while doing an erase and write to Info D memory, a trail of 0's(24bits) is being written into this memory in between that data. This does not happen always and only happens sometimes and the rest of the data is written properly, except for this trail of 0's in some places. When I extracted the flash memory data, i could see this trail of 0's in several places within the flash(Info D, Flash Bank A etc).
This unexpected trail of 0's in between data is causing unexpected issues. I read that these trail of 0's can occur when there is an overwrite while doing a flash write, but the flash write is being done as mentioned in the flash memory user's guide
Has anyone experienced the same issue?
could you please elaborate a bit more in detail, how you're performing the FLASH operations. Are you executing them from code, or using our tools. Most probably, if executed by your own functions, something wrong is happening with these function execution. It could be related to erroneous timings, keep the datasheet numbers in mind, it could of course be an erroneous code execution.
If performing the FLASH operations from CPU side, are you locking the FLASH control registers after the FLASH operation execution?
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Peter Spevak:
So we are doing the flash operations from the code in the following manner:
unsigned int gieState = __get_SR_register() & GIE;
/*** Flash erase/write operations *********/
This is similar to the erase/write operations mentioned in the flash user's guide for this MSP430 - https://www.ti.com/lit/ug/slau392f/slau392f.pdf?ts=1593442544609
__bis_SR_register(gieState); // restore the GIE status
In reply to Lakshmi S1:
many thanks for your response, but unfortunately you have not addressed a great portion of the questions I asked, trying to clarify things. It is also not helpful stating doing something similarly. We need to understand exactly what you're doing and how you're doing it, otherwise it will be extremely difficult to find out, where the problem comes from.
We need to understand instructions, we need to understand settings you're applying, and we need to understand timings.
So please enable us looking into your problem. Many thanks in advance.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.