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.

[参考译文] MSPM0G1106:闪存擦除操作

Guru**** 2512505 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1535818/mspm0g1106-flash-erase-operation

器件型号:MSPM0G1106


工具/软件:

闪存擦除后、从该扇区的任何地址读取是否会返回全部为 1? 如果没有、我可以期待什么? 它只是随机数据吗? 我们实现了 EEPROM 仿真、我们驱动程序的基础是、我们预计在已擦除的位置读取 0xFFFFFFFF、并将其视为写入新数据的下一个虚拟地址。

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

    您好、Sam、

    为了回答您的问题、我想请您参阅我们的 TRM: https://www.ti.com/lit/ug/slau846b/slau846b.pdf

    我们有多个可以执行的闪存操作:

     

    命令描述

    noop                    无操作(默认设置)。

    变量           为闪存选择一个编程操作。

    擦除                   为闪存选择一个擦除操作。

    READVERIFY        选择一个独立的读取验证操作。

    BLANKVERIFY      选择一个独立的空白验证操作。

     

    考虑 Erase 命令的说明:  

    我不建议依赖所有寄存器交换到 0xFFFF。

    这种情况可能是这样的、因为闪存值通常会变为 1(至少在我的试用版中)、但这是不能保证的。

     

    我不查找 0xFFFF FFff 而是建议:

    使用 BLANKVERIFY- 命令、或者另外、在您尝试验证的 Flashword 上。

    之后、您可以轮询 STATCMD 注册 CMDDONE

    然后使用 CMDPASS 用于查看命令是否已正确执行的位。

     

    或者:如果你想坚持你的方法:

    每种器件的末尾都有介绍 BLANKVERIFY- 数据寄存器设置为 1。

    因此、可以使用它  

    擦除

    然后执行  
    BLANKVERIFY


    读取并检查内容是否为:

    0xFFFFFFFF

    我 无法对此进行测试。

    因此,我仍然建议等待我们的专家批准。

    此致、

    Alex

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

    您好 Alex、

    相同主题如下所示:

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers---internal/f/arm-based-microcontrollers---internal-forum/1536267/mspm0g1107-understand-flash-erase

    我们在这一主题中进行讨论。

    谢谢!

    此致

    Johnson