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.

[参考译文] TMS570LC4357:对未编程闪存的访问是否会产生可纠正或不可纠正的 ECC 错误?

Guru**** 2481465 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/992707/tms570lc4357-does-access-of-unprogrammed-flash-generate-correctable-or-uncorrectable-ecc-errors

器件型号:TMS570LC4357

我正在为 TMS570LC4357开发引导加载程序。 我需要检查应用程序是否已编程或者闪存地址是否已被擦除。
闪存的擦除状态是一个已知值。 如果我读取它、这会产生可纠正的错误或不可纠正的错误、还是出于某种原因不可预测?
2.如果我的 NMI 服务确定这个错误应该被忽略、我可以从中断返回还是违规的返回地址不像其他中断那样存储在堆栈上?

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

    您好!

    擦除闪存时、闪存及其 ECC 都会被擦除。 两个区域的内容都是0xFFFFFFFF。 当您读取闪存时、您将得到一个不可纠正的 ECC 错误。

    3.您可以使用引导加载程序的链接器 cmd 文件对整个闪存的 ECC 进行编程。

    http://software-dl.ti.com/hercules/hercules_docs/latest/hercules/Examples/index.html

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

    当引导加载程序运行时、我无法保证闪存地址空间的其余部分具有有效编程。  在许多情况下、编程可能会中断、闪存未完全编程。  在另一个论坛回复中、有人指出、对于不可纠正的错误、不会保存违规地址。  我真正想知道的是我原始问题的#2:如果我的 NMI 服务确定应该忽略这个错误、我可以从中断返回并恢复程序执行、或者处理这个中断的方式有什么不同、这样可以防止这个错误发生?

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

    在读取程序/数据之前、所有闪存存储器空间(闪存组0至6)的 ECC 值必须被编程到闪存中。 这可以通过生成正确的 ECC 值来完成。 Cortex R5F CPU 可以生成推测取指令、将其取指令到闪存存储器空间内的任何位置。 对 具有无效 ECC 的位置的推测取指令(随后未使用)不会创建中止、但会为可纠正或不可纠正的错误设置 ESM 标志。 不可纠正的错误将无条件地导致 nERROR 引脚切换为低电平。 因此、必须注意为整个闪存空间生成正确的 ECC、包括段和任何未使用或空白闪存区域之间的空洞。

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

    当读取一个未使用的闪存地址时、ESM 2.3将被置位。 ESM 2.3也可以通过读取一个具有 ECC 错误的已使用位置来设定。 导致错误的闪存地址未记录。  

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

    Cortex-R5处理器不提供一个机制来记录导致不可纠正 ECC 故障的地址。 它通过将地址导出到 EPC 模块来提供可纠正的 ECC 故障地址。 可纠正的 ECC 故障地址保存在 EPC 模块的 CAM (内容地址存储器)中。 但是、对于不可纠正的 ECC 故障地址、R5处理器不会将导致故障的信息导出到哪个地址。 请查看 EPC 模块以了解详细信息。