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.

MSP430F5437A: Seeing trail of 0's in flash memory after a flash write.

Part Number: MSP430F5437A

Hi,

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? 

  • Hi,

    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?

    Best regards

    Peter

  • Hi,

    So we are doing the flash operations from the code in the following manner:

    unsigned int gieState = __get_SR_register() & GIE;

    __disable_interrupt();

    /*** 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

    Regards

    Lakshmi

  • Hello Lakshmi,

    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.

    Best regards

    Peter

**Attention** This is a public forum