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.

[参考译文] TMS320F280049C:CCS 中的 ECC 选项问题

Guru**** 2442090 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1528385/tms320f280049c-the-question-of-ecc-option-in-ccs

器件型号:TMS320F280049C

工具/软件:

您好!  

我尝试在 F28004x 上使用 CCS 中的--ecc:data_error 链接器选项验证 ECC 错误检测。 我添加了一个条目(如 0x086000、0x01)、用于在该地址进行翻转。 但是,即使从地址读取并检查 ECC 错误寄存器(例如 Flash_getLowErrorStatus()) 后,我也看不到任何 ECC 错误的指示—所有 ECC 相关寄存器都保持不变。 我怀疑这可能是因为我稍后会在运行时使用闪存 API (Fapi_issueProgrammingCommand) 覆盖该闪存地址、这可以擦除注入的错误。 您能否帮助澄清一下:链接器注入的错误究竟什么时候?它是否仅嵌入在最终输出文件中? 此外、为了观察 ECC 检测的工作情况、我是否应在构建后避免写入该地址? 此外、为了确保检测到错误、我是否应该考虑对存储器部分、对齐或 ECC 监控的任何限制? 提前感谢您的帮助!

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

    您好:

    我将对此进行研究、并在明天为您提供回应。 感谢您的耐心。

    此致、

    Skyler

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

    尊敬的 Ruidi:

    错误在链接期间注入、加载程序时会出现在器件上。 如果要在该地址检测 ECC 错误、则在尝试检测 ECC 错误之前不应将其擦除。   有关使用--ecc 链接器选项时的任何限制、请参阅 TMS320C28x 汇编语言工具 v22.6.0.LTS 用户指南的“纠错码测试“部分。

    此致、

    Skyler

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

    感谢您的回答。 我根据您的回复了解到 ECC 错误是在链接阶段注入的、一旦加载程序、该错误就会出现在器件上。 您还提到、我不应擦除注入 ECC 错误的地址、否则错误将被删除。 但是在应用中、我需要将自己的数据写入闪存、然后验证其上的 ECC 错误。 若要写入数据、我必须首先擦除闪存扇区、但这样做似乎可以消除注入的 ECC 错误。

    请您澄清一下:

    1. 如何将自定义数据写入闪存并仍测试 ECC 错误检测?

    2. 有没有推荐的方法可以在对闪存进行编程后手动注入 ECC 错误(例如,通过修改 ECC 位)?

    3. 如果链接器生成的 ECC 错误仅用于静态数据、那么如果我的用例需要动态闪存写入、应该如何继续?

    非常感谢您的帮助。

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

    尊敬的 Ruidi:

    1.可以在不包含程序/数据的闪存扇区/存储体中注入错误。

    2.是的,您可以使用 Only 或 Fapi_Ecc Only 模式来注入一些 Fapi_Data 错误。 请参阅 闪存 API 指南的第 3.2.3 节

    3.见第 2 号。

    此致、

    Skyler