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.

[参考译文] UCD90160:未写入清除数据闪存命令

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1075987/ucd90160-clear-data-flash-command-not-written

部件号:UCD90160

在尝试清除  数据闪存时,我运行以下命令:

BlockWrite,0x35,0xE2,0x0400000104
BlockWrite,0x35,0xE3,0x00008820
BlockWrite,0x35,0xE2,0x0414000104
BlockWrite,0x35,0xE3,0x00000100
暂停,250,暂停250毫秒
BlockRead,0x35,0xE3

但是,通常末尾的0xE3 BlockRead 返回0x00000900或 0x00000000。 更糟糕的是,有时数据闪存并不总是被清除。

我是否在写入命令中遗漏了某些内容? 如何确保正确运行清除数据闪存命令?

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

    你(们)好

    每次重置时,您可以使用这些命令擦除闪存一次。 设备忽略第二个擦除。

    我假设您已添加了字节帐户。

    如果您读回了0x00000900,闪存将不可用于操作。您可以在问题00000100之前检查以确保位11为0以将其擦除。

    此致

    宜和  

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

    谢谢 Yihe,我必须在复位过程中再次运行此命令。

     在清除以确保擦除命令执行之前,我可以设置 reset_count 或使用以下命令之一启动 soft_reset 吗?

    WriteByte,0x35,0xDB,0x01 // soft_reset

    或  

    写入字节,0x35,0xDC,0x00 // reset_count

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

    否则,您提到我可以检查以确保位11为0,然后再发出0x00000100 进行擦除。

    我可以执行以下操作吗?

    BlockWrite,0x35,0xE3,0x00000000 //确保位11为0

    BlockWrite,0x35,0xE3,0x00000100 //擦除

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

    你(们)好

    要进行重置,请使用0xDB。 reset_counter 不会触发设备重置。

    在发出0x00000100之前,必须阅读以确保位11为0。 您无法写入位11,因为它是一个状态位。

    此致

    宜和