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.

[参考译文] TMS570LS0332:无法读取擦除 EEPROM 的数据

Guru**** 2391415 points
Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1424364/tms570ls0332-cannot-read-the-erase-the-data-of-eeprom

器件型号:TMS570LS0332
主题中讨论的其他器件:HALCOGENTMS570LS3137

工具与软件:

尊敬的专家:

我的客户在使用 TMS570LS0032上的 EEPROM 功能。

他们发现伺服芯片无法读取和擦除 EEPROM。 它们使用 TI 的 SDK 函数来读取和擦除 EEPROM、该函数将反馈故障状态。

有关更多详细信息、请将 EEPROM 的 bin 文件导出到错误芯片中、然后将 bin 文件加载到正常的芯片 EEPROM 中。 正常芯片上的 EEPROM 也不能被读取和擦除。

可以在以下链接中找到 bin 文件:

tidrive.itg.ti.com/.../7f6b1053-e8ed-4866-97b5-184e9e5cbb19

tidrive.itg.ti.com/.../6afb88a4-de8f-46d2-8704-c192cd451dc4

tidrive.itg.ti.com/.../885da4e0-6098-477b-b783-7e0ea4ed83a6

代码和 EEPROM 配置的详细信息如下:

错误芯片的 ID 如下:

对此问题有何建议?

谢谢!

LEO

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

    尊敬的 Leo:

    根据 TRM、一个 EEPROM 扇区的大小为4KB:

    并且根据 FEE 用户手册、所有数据块的大小不应超过虚拟扇区长度。

    如果我计算您的 FEE 配置中所有数据块的大小、它将变为~5830字节、因此超出了一个虚拟扇区大小。

    那么、我的建议是、您能否将两个物理扇区合并为一个虚拟扇区并加以使用?

    我的意思如下:

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的  Jagadish:

    感谢您的支持。

    我的客户想知道这是无法读取和擦除 EEPROM 的原因吗?

    我注意到、用户指南中显示"当数据包写入超过当前虚拟扇区的可用空间时、数据块结构在下一个要激活的虚拟扇区中重复。" 这就是说、 即使数据块的总字节超过一个扇区、EEPROM 也应该能够正常地读取和擦除?μ DMA

    谢谢!

    LEO

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

    尊敬的 Jagadish:

    请检查客户的.bin 文件。

    tidrive.itg.ti.com/.../7f6b1053-e8ed-4866-97b5-184e9e5cbb19

    tidrive.itg.ti.com/.../6afb88a4-de8f-46d2-8704-c192cd451dc4

    tidrive.itg.ti.com/.../885da4e0-6098-477b-b783-7e0ea4ed83a6

    谢谢!

    LEO

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

    尊敬的 Leo:

    我的客户想知道这是 EEPROM 无法读取和擦除的原因吗?

    我无法保证100%、但此配置可能会导致错误、

    假设您 使用不同的单独块数据填充了整个虚拟扇区(我的意思是整个虚拟扇区有有效数据)、现在如果我们尝试向虚拟扇区写入任何新数据、则费用将尝试将以前扇区的所有活动数据推入新虚拟扇区、它还应尝试填充这个新扇区中的新数据、 当所有数据都大于虚拟扇区大小时、它如何填充? 费用应能在一个扇区内容纳所有有效数据和新块数据、否则、它可能会反复向所有扇区写入相同数据、且不能获取任何新数据。

    ——
    谢谢、此致、
    Jagadish。

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

    你好、 Jagadish

    例如、如果用户将 EEPROM 分频为4KB * 4、然后尝试存储5KB 数据块。 EEPROM 控制器将尝试将数据块存储到第1段(4KB)、它发现空间不足以存储数据块。 而不是尝试将其存储到 sector2 (4KB)、那么它会失败。 而 sector3、sector4、secotr1… 无法从 EEPROM 读取任何数据。 对吗?

    如果可以、用户如何擦除整个 EEPROM。

    谢谢!

    LEO

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

    在本页中、它已分为2个 EEP

    每个数据块都不会 超过扇区范围?

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

    尊敬的 Leo:

    然后尝试将它存储到 sector2 (4KB)、失败了。 而 sector3、sector4、secotr1… 无法从 EEPROM 读取任何数据。 对吗?

    您是正确的、我的理解也是相同的(然而、我从未在实践中进行过测试、但这可能会发生)。  

    如果是这样、用户如何擦除整个 EEPROM?

    首先、客户应进行正确的配置、我的意思是他应确保虚拟扇区大小大于所有数据块大小的总和。

    如果不纠正这种配置、就很难指导怎么做。

    所以、我的建议是最好进行与配置相关的修改、然后将完整的代码重新编程到闪存中。

    ——
    谢谢、此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    每个数据块都不会 超过扇区范围?

    我从未尝试过这种配置。 我来检查一下。

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

    尊敬的 Jagadish:

    首先、客户应进行正确的配置、我的意思是他应确保虚拟扇区大小大于所有数据块大小的总和。

    客户反馈、他们无法执行您发送的更改。 必须将 No of EEPS 设置为零、然后才能合并虚拟扇区、但这与应用程序不匹配。

    您能否 在 FEE Global 上显示您的配置?

    谢谢!

    LEO

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

    尊敬的 Leo:

    并且在本页中、它被划分为2个 EEP

    很抱歉我漏掉了这个、  

    如果它们使用2个 EEP、则没有问题。 配置看起来不错、在这种情况下、总数据块大小不超过虚拟扇区大小。

    我还在最后测试了客户配置

    我发现、EEP1使用前两个虚拟扇区(VS1和 VS2)、EEP2使用接下来的两个虚拟扇区(VS3和 VS4)。

    在本例中、我没有看到任何与配置相关的错误。 问题可能与配置无关。

    是否可以共享存在此问题的客户费用转储?

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    是否可以共享存在此问题的客户转储费用?

    FEE DUMP 是 FEE 配置文件吗? 如何通过 HALCoGen 导出它?

    也许您可以尝试我之前回复的此 EEPROM bin 文件。

    我们的客户说这是他们的 EEPROM 数据文件。 它们将 EEPROM 数据加载到 TMS570的 EEPROM 中、然后无法访问 EEPROM。

    谢谢!

    LEO

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

    尊敬的 Leo:

    费用转储是否是费用配置文件? 如何通过 HALCoGen 导出它?[/QUOT]

    非 FEE 配置。

    我要求有关闪存存储体7中的数据进行分析。 您能否要求客户导出并提供数据?

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    闪存7中的数据如下(存储在 bin 文件中):

    tidrive.itg.ti.com/.../6afb88a4-de8f-46d2-8704-c192cd451dc4

    tidrive.itg.ti.com/.../885da4e0-6098-477b-b783-7e0ea4ed83a6

    谢谢!
    LEO

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

    另外两个文件:

    tidrive.itg.ti.com/.../7f6b1053-e8ed-4866-97b5-184e9e5cbb19

    tidrive.itg.ti.com/.../6afb88a4-de8f-46d2-8704-c192cd451dc4

    这三个 bin 文件中的任何一个都是 FLASH7数据。 客户进行了许多测试、并在 FLASH7中找到三组错误数据

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

    尊敬的 Leo:

    [报价 userid="278285" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1424364/tms570ls0332-cannot-read-the-erase-the-data-of-eeprom/5464827 #5464827"]

    闪存7中的数据如下(存储在 bin 文件中):

    tidrive.itg.ti.com/.../6afb88a4-de8f-46d2-8704-c192cd451dc4

    tidrive.itg.ti.com/.../885da4e0-6098-477b-b783-7e0ea4ed83a6

    [报价]

    在分析这些数据后、我发现:

    可以看到3个有源虚拟扇区。 这是不常见的情况、因为对于一个 EEPROM、应该只有一个活动的虚拟扇区。 此处我们声明了两个 EEPROM、即具有前两个虚拟扇区的 EEP1以及具有第3个和第4个虚拟扇区的 EEP2。 这意味着应该只有两个活动扇区、一个在前两个虚拟扇区中、另一个在第三和第四个虚拟扇区中。

    我不明白客户最终是如何遇到这种情况的、 我尝试了客户配置、并尝试在不同的场景中重置电路板、但都无法正常工作、并且我能看到的只是在任何时间点只有两个虚拟扇区。 我没有 LS0332电路板、我在 TMS570LS3137上执行了该操作。 如果客户有任何触发此问题的建议、请告诉我。

    ——
    谢谢、此致、
    Jagadish。