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.

[参考译文] TMS570LS1224:将 ECC 与 EEPROM 仿真 FEE 一同使用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1349016/tms570ls1224-ecc-usage-with-eeprom-emulation-fee

器件型号:TMS570LS1224
主题中讨论的其他器件:HALCOGEN

大家好!

我使用存储体7扇区0至3作为非易失性存储器(EEPROM 仿真)。 我不使用 TI 提供的 FEE 库、但我使用自己的 ware 调平算法、我已经在其他微控制器上使用该算法、到目前为止一切都正常。

现在、我想从 ECC 功能中受益。 据我所知、每个64位数据字都由8位 ECC 进行保护。 我确保所有数据都以8个字节的倍数写入。 对于写入命令 i alredy、请使用 Fapi_Auto SceGeneration 模式

Fapi_issueProgrammingCommand ((uint32_t*) u32_Addr、&(u8_Buffer[0])、u8_idx、NULL、0、 Fapi_Auto SceGeneration)

因此、我认为应该在每次写入时正确生成 ECC 位。

如果我擦除整个扇区、我是否必须关注 ECC 位、或者它们是否也针对已擦除的64位数据字进行了正确设置?

Fapi_issueAsyncCommandWithAddress(CommandWithAddress,Flash_SECTOR[sector].start) Fapi_Erase ;

现在、如果我希望在读取 EEPROM 数据时收到数据/ECC 不匹配的通知、我需要配置 ESM。


当我只想检查 EEPROM (组7) ECC 时、是否还必须激活闪存 ECC?

我想我会遇到一个 ESM 例外:

通过 这种方式、为什么不能在 HALCOGEN 中将该中断禁止或更改为 FIQ?

是否有任何代码示例代码如何处理 ESM 异常是可能的,特别是了解原因(ECC 不匹配,包括地址信息...)?

此致
延斯

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

    Jens、您好!

    如果我擦除整个扇区,我需要注意 ECC 位还是它们对于已擦除的64位数据字也设置正确?

    无需对擦除采取任何特殊操作。

    [quote userid="217255" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1349016/tms570ls1224-ecc-usage-with-eeprom-emulation-fee 为什么 在 HALCOGEN 中不能将此中断关闭或更改为 FIQ?

    这是 NMI (不可屏蔽中断)、我们无法禁用它。

    --
    谢谢。此致、
    Jagadish。

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

    您好 Jagadish:

    非常感谢您的提示回复。 当使用 Fapi_Auto ECCGeneration 模式写入存储体7闪存时、并且以多个8字节的数据写入时、ECC 位将自动生成、并且当 ECC 位与数据不匹配时、我在读取期间是否会获得一个异常?

    是否有任何代码示例代码如何处理 ESM 异常是可能的,特别是了解原因(ECC 不匹配,包括地址信息...)?

    此致、
    延斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您的提示回复。 当使用 Fapi_Auto ECCGeneration 模式写入组7闪存时、如果 ECC 位与数据不匹配、则会自动生成多个8字节的 ECC 位、并且在读取期间我会得到一个异常吗?[/引号]

    是的、回答正确。 如果我们使用 ECCGeneration 编写、那么相应的数据 ECC 也将编程到 Fapi_Auto 部分中。

    如果 ECC 或数据损坏、那么我们将基于单一位或双位错误获得 ESM 错误。

    是否有代码示例代码如何处理可用的 ESM 异常,特别是获取原因(ECC 不匹配,包括地址信息...)?

    没有用于处理 ESM 异常的特定代码、这只是取决于应用要求。 根据应用要求、我们可以执行软件复位、否则我们可以停止进一步的执行、等等可以执行。

    --
    谢谢。此致、
    Jagadish。

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

    您好 Jagadish:

    是否有办法强制 ECC 错误能够测试 ECC 错误检测?

    此致、

    延斯

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

    Jens、您好!

    是否有办法强制 ECC 错误测试 ECC 错误检测?

    是的、我们可以使用闪存诊断模式来执行该操作。

    有关该实现的更多详细信息、您可以参阅 safeTI 诊断库。

    SAFETI_DIAG_LIB 驱动程序或库| TI.com

    如果您下载了此库、那么您可以导入工程并可以看到不同诊断的定义。

    如您所见、您可以找到用于闪存和 FEE 等的不同故障注入代码。

    --
    谢谢。此致、
    Jagadish。

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

    您好 Jagadish:

    非常感谢!

    此致
    延斯