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.

[参考译文] LAUNCHXL-F28P55X:ECC 错误。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1618383/launchxl-f28p55x-ecc-error

器件型号: LAUNCHXL-F28P55X

大家好、

我正在 TMS320F28P55x MCU 中进行自定义引导加载程序开发。 我使用该引导加载程序代码开发了引导加载程序代码并加载应用程序代码。 我交叉验证加载代码的闪存位置。 现在的问题是、即使是在正确位置刷写的代码也不会执行。  

但当我使用 CCS 刷写相同的应用程序时、并使用矢量偏移量和复位处理程序跳转到该应用程序地址。 它会跳转并开始正常执行。

当我使用自定义引导加载程序刷写相同代码、并使用相同的矢量偏移量和复位处理程序跳转到同一应用程序地址时、它不工作。 我不知道为什么。

 

我还检查了这两种情况下的 ECC。 ECC 在 示例中发现几乎是 simmilar、但 ECC 数据的最后四个字除外:当由 CCS 刷写时为 1 -> ECC(最后 4 个字) FFBB FFFF FFFF FFFF FFFF  

由自定义引导加载程序进行刷写时--> ECC(最后 4 个字)  14BB FFFF FFFF FFFF

 

ECC 中的微小不匹配是否会导致错误并且不会运行应用程序代码。  

我使用 Fapi_issueAutoEcc512ProgrammingCommand () 对闪存进行编程

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

    您好:

    ECC 中的小幅不匹配是否会导致错误并且不运行应用程序代码。  [/报价]

    是的、双位 ECC 错误是不可纠正的、将导致 NMI。

    在刷写应用程序时、最后 64 个主阵列闪存位是否正确编程了与错误 ECC 位相对应的位? 您是否始终将一个 512 位对齐地址传递给闪存 API 编程命令?

    此致、

    Alex