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.

[参考译文] TMS320F280049:UNIFLASH 上的 ECC 校验和

Guru**** 2589300 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/989567/tms320f280049-ecc-checksum-on-uniflash

器件型号:TMS320F280049
主题中讨论的其他器件:UNIFLASH

您好、香榭丽舍

有人能告诉我、在以下两种情况下、ECC 校验和为什么不同?

旧工具:UNIFLASH
[案例1]
 - 使用编译器生成的原始 OUT 文件进行闪存编程后读取校验和
  闪存(0x80000~0x800FFFF)校验和:0x2B5B
  ECC 校验和:0xE475

[案例2]
 -使用 UNIFLASH 导出的文件进行闪存编程后读取校验和。
  闪存(0x80000~0x800FFFF)校验和:0x2B5B
  ECC 校验和:0xEF30

 闪存校验和值相同、但 ECC 校验和值不同。 这种情况会发生什么?

谢谢、
Steve

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

    Steve、

    在这两种情况下、应用程序是否按预期正常执行?  还是 CASE2应用程序失败、并出现任何 ECC 错误?

    我将让 Uniflash 专家讨论编译后的代码与导出的 Uniflash 之间的任何差异。

    谢谢、此致、
    Vamsi

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

    您好、Steve、

    对于案例2、您是否将案例1中的闪存内容导出为 COFF 文件、然后对其进行重新刷写?

    使用的 UniFlash 的确切版本是什么?

    是否可以证明正在使用的*。out 文件? 如果您不想公开分享、请与我开始私人 E2E 对话。

    谢谢

    Ki

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

    这两种情况均按预期正常工作、没有任何 ECC 错误。

    Steve -

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

    是的。 我从案例1中导出了闪存内容。  
    UniFlash 版本为 v6.1.0.2829。

    我已将我们的 LED 闪烁示例与 F280049C controlCARD 结合使用。 让我通过电子邮件向您发送我使用的文件、因为 E2E 上的文件插入在 E2E 重大升级后对我无效。  

    谢谢、
    Steve

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

    谢谢 Steve。 我收到了您的电子邮件、并在我的升级电子邮件中将您抄送给 UniFlash 专家。

    [引用 userid="121760" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/989567/tms320f280049-ecc-checksum-on-uniflash/3656684 #3656684"]让我通过电子邮件向您发送我使用的文件,因为 E2E 上的文件插入在 E2E 重大升级后对我无效

    拖放至回复编辑器字段是否对您无效?

    谢谢

    Ki

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

    Steve、

    感谢您对这两种情况下的 ECC 错误行为的澄清。  请就这一问题与 Ki 进一步跟进。

    Ki、  

    请将我的内容复制到有关此内容的内部讨论中。 我们还需要在与其他客户合作时将其保留在雷达中。

    谢谢、此致、
    Vamsi

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

    Steve、

    从 Uniflash 导出映像时、映像是否包含任何空空间(擦除的位置)?  

    如果是、则 ECC 映像会因编程 Uniflash 导出的映像时为擦除位置生成 ECC 而异。  

    这是我唯一能想到的原因、在没有 ECC 错误的两种情况下、应用程序是否正常工作。

    谢谢、此致、
    Vamsi

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

    Vamsi、

    正如我在脱机时提到的、导出的文件具有包括已擦除位置在内的所有组0区域。

    Steve

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

    Steve、

    这解释了 ECC 差异。   

    对导出的映像进行编程时、ECC 将针对从器件导出的所有已擦除位置(全为1)进行编程。

    谢谢、此致、

    Vamsi

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

    Vamsi、

    对于这两种情况、是否有任何方法保持相同的 ECC 校验和?

    谢谢、
    Steve

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

    Steve、

    有两种方法可以实现相同的 ECC 校验和:

    1. 在您加载的原始输出文件中、您可以填充链接器 cmd 文件中闪存范围的所有0xFFFFFFs。  请注意、这将增加编程时间、因为它将使用该更改对整个闪存进行编程。  但是、它将满足您匹配已导出文件的 ECC 的要求。  
    2. 您可以在插件 GUI 中使用回避范围功能。  您可以提供要在加载导出的映像时避免编程的地址范围(128位对齐)。  这可能会让您费力地确定范围。  如果您知道范围、那么这应该是可以的。

    谢谢、此致、

    Vamsi