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:在一个闪存写入后、在闪存存储器中看到0#39的轨迹。

Guru**** 2382960 points
Other Parts Discussed in Thread: MSP430F5437A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/918336/msp430f5437a-seeing-trail-of-0-s-in-flash-memory-after-a-flash-write

器件型号:MSP430F5437A

您好!

我正在使用 MSP430F5437A、并观察到在执行擦除和写入信息 D 存储器时、在该数据之间将一条0 (24位)的轨迹写入该存储器。 这种情况并非总是发生的、而是有时发生的、并且数据的其余部分被正确写入、除了在某些地方的0跟踪。 当我提取闪存存储器数据时、我可以在闪存内的几个位置(信息 D、闪存组 A 等)看到这个0的轨迹。

这种数据之间的0的意外跟踪会导致意外问题。 我读出、当执行闪存写入时发生覆盖时、可能会发生0的跟踪、但闪存写入操作如闪存用户指南中所述

是否有人遇到过相同的问题?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请详细说明一下您是如何执行闪存操作的。 您是通过代码执行它们、还是使用我们的工具执行它们。 很可能、如果由您自己的函数执行、这些函数执行会发生错误。 它可能与错误时序相关、请记住数据表编号、当然也可能是错误的代码执行。

    如果从 CPU 侧执行闪存操作、您是否在闪存操作执行后锁定闪存控制寄存器?

    此致

    Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    因此、我们将以以下方式从代码执行闪存操作:

    unsigned int gieState  = __get_SR_register () & GIE;

    _disable_interrupt ();

    /***闪存擦除/写入操作********* /

    这与针对这个 MSP430 - https://www.ti.com/lit/ug/slau392f/slau392f.pdf?ts=1593442544609的闪存用户指南中提到的擦除/写入操作相似

    _bis_SR_register (gieState);   //恢复 GIE 状态

    此致

    Lakshmi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Lakshmi、

    非常感谢您的回答、但遗憾的是、您没有回答我提出的大部分问题、试图澄清问题。 它也不能帮助您做出类似的事情。 我们需要准确了解您的工作情况以及您的工作方式、否则很难找到问题的来源。

    我们需要了解说明、我们需要了解您正在应用的设置、我们需要了解计时。

    因此、请让我们能够调查您的问题。 非常感谢。

    此致

    Peter