大家好、
为了能够正确管理系统中出现的不可纠正的 ECC 错误、我正在尝试了解 Cortex-R5F 中的高速缓存 ECC 如何工作、以及 TMS570LC 和 ESM。
在 Cortex-R5文档中、可以将高速缓存配置为"不生成中止、强制执行写操作、启用硬件恢复"(请参阅 Cortex-R5 TRM 的第8.5章)。
采用这种配置时、缓存中不可纠正的 ECC 错误是静默的、数据从 L2存储器中重新加载(实际上、这些不是不可纠正的错误...?)。 由于该区域在写通模式下运行、因此没有线路会变脏、因此缓存中的任何数据都不会丢失。
这对于使软件看不见数据缓存中不可纠正的 ECC 错误并提高系统可用性来说是完美的(注:在我们的系统中、ESM nERROR 引脚被路由到系统有效性逻辑。)。
但是、我看到在 ESM 中、当 Cortex-R5通过事件总线发出"数据高速缓存数据/标签/脏污 RAM 致命错误"信号时、会生成组3通道9、这将使 nERROR 引脚进入故障状态(在我们的系统中、这将使系统不可用)。
是否有人可以确认这一说法、或者向我解释如果高速缓存被配置为"不生成中止、强制执行直写、启用硬件恢复"、ESM 组3.9是否未被触发? 据我所知、无论中止的配置如何、Cortex-R5的事件总线都将向所有事件发出信号、但如果我错了、我希望专家纠正我的问题。
如果无论高速缓存中止配置如何、cortex-R5都将向事件发送信号、是否有办法防止它在事件总线上发出信号(如事件总线事件配置寄存器)?
我在寻找 Cortex R5和 TMS 的配置、以便使缓存 ECC 错误保持安静、但在将 nERROR 引脚连接到系统有效性逻辑的情况下、是否有一种可能?
谢谢。
盖尔