主题中讨论的其他器件:MSP430FR2000
您好,
当我们尝试将数据写入位于0xF800位置的闪存存储器时(即 段1)。
我们要求将实时数据定期写入同一位置(0xF800)、但写入时仅写入正确的数据、之后未正确写入该位置。
那么、我的问题是、在将数据写入存储器之前、每次都需要擦除存储器吗? n 如果是、那么我们如何擦除单个段?
谢谢、
Ashwini
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.
您好,
当我们尝试将数据写入位于0xF800位置的闪存存储器时(即 段1)。
我们要求将实时数据定期写入同一位置(0xF800)、但写入时仅写入正确的数据、之后未正确写入该位置。
那么、我的问题是、在将数据写入存储器之前、每次都需要擦除存储器吗? n 如果是、那么我们如何擦除单个段?
谢谢、
Ashwini
您好、Ashwini、
[引用 userid="472268" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1019359/msp430i2041-writing-data-to-flash-memory 命令]、因为我们正在尝试将数据写入位于0xF800位置的闪存中(即 段1).[/quot]确保此位置已在链接器文件中指定为数据段(而不是代码段)。 您肯定不想在那里存储数据并覆盖您的代码。
[引用 userid="472268" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1019359/msp430i2041-writing-data-to-flash-memory 作为我们的要求、将实时数据定期写入同一位置(0xF800)、但第一次写入的数据是正确的、之后数据写入该位置不正确。由于闪存读取/写入周期的数量有限(通常为10^5)、因此您需要实现内存磨损平衡算法。 这可能取决于您对存储器的读取/写入频率。 我们的 FRAM 器件支持更多的读取/写入周期、因此您可以根据需要随时向您的设计中添加一个类似 MSP430FR2000的读取/写入周期、以进行数据记录。
[引用 userid="472268" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1019359/msp430i2041-writing-data-to-flash-memory ]我的问题是、在将数据写入内存之前、每次都需要擦除内存吗? n 如果是、那么我们如何擦除单个段?是的、每个位可单独编程为1至0、但是要重新编程为0至1、需要一个擦除周期。 任何擦除由一个到将被擦除的地址范围的假写入启动。 假写入启动闪存时序发生器和擦除操作。 有关该过程的更多详细信息、请参阅《MSP430i20xx 系列用户指南》中的"擦除闪存"部分。
其他有用的资源包括 MSP430闪存特性 应用手册和后续主题。
您好!
我将在您创建的另一个线程中回答您的最新问题。 请将此主题标记为已解决。