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:RAM 清理

Guru**** 2478765 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/911659/compiler-tms570lc4357-ram-scrubbing

器件型号:TMS570LC4357

工具/软件:TI C/C++编译器

您好!

请 告诉我 下面的 L2RAM 内存清理功能;

1.如何使用

 我已经检查  了 TMS570LC4357的技术参考手册、本文档对 使用 过的存储器清理功能需要设置 MSE 位进行了批评。  

  是否还有内存清理设置?

2.实际操作

 如果我设置 MSE 位、是否仅执行一次内存清理、还是定期执行? 如果定期执行内存清理操作 、 则周期基于什么?

 此外、在  执行程序访问 L2RAM 时是否可以使用内存清理功能?( 通过 L2RAM 模块处理异常屏蔽 RAM 区域的问题)

此致、

好的

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

    您好、Sho、

    1.将 RAMCTRL 寄存器的 MSE 位置位即可启用存储器清理。 由于内存清理使用 L2RAMW SECDED 逻辑、因此 RAMCTRL 中的 ECC 检测使能(ECC_DETACT_EN)字段也必须启用。

    2.为了增强器件安全、L2RAMW 具有 SECDED 故障检测功能、以确保 SECDED 逻辑正常工作。 如果启用了内存清理、则 L2RAMW 将首先检测到一个单位 ECC 错误、然后在写回内存之前进行纠正。 稍后返回 CPU 的校正数据将接受另一个在 CPU 内部完成的 ECC 检查。  

    一旦检测到错误、EPC (错误分析控制器)将记录单个位错误地址。 由于错误已经被记录、同一地址上的一个重复错误不会生成一个到 ESM 的错误。 如果您处于循环状态、这是为了防止 CPU 重复 NMI 中断。 请参阅以下 TRM 专家(第486页、SPNU563A):

    每个 IP FIFO 可纠正故障的64位对齐地址将发送给 CAM、以检查可纠正故障是唯一还是重复的。 如果它是可纠正故障的重复地址、则可纠正故障及其地址将被丢弃、不会进一步指示 CPU。 如果是唯一的地址,则将在 CAM 内容中记住该地址,CAM 索引将设置为“已占用”。 如果 EPCCNTRL 中的 SERRENA 位被启用、则软件可配置为将一个错误事件提交给 ESM。

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

    QJ Wang、您好!

    感谢你的答复。

    我了解 RAM 清理配置和 EPC 规范。

    RAM 清理仅在 L2RAMW 上运行、对吧?
    此外、如果一次完成 RAM 清理、下一次是否会立即开始、还是基于时钟计时?

    此致、

    好的

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

    您好、Sho、

    是的、只要在 RAM 读取期间检测到单位错误、它就会开始纠正该错误。