工具与软件:
您好!
使用 TMS320F28P650DK 运行应用软件时、我遇到了 ECC 错误。
很遗憾、我无法使用仿真器进行调试、因为我在启动时使用 HWBIST、这会断开仿真器的连接。
启动时似乎出现问题。 如果我 在发生错误后清除该错误、它不再存在。
遗憾的是、添加用于调试或调试变量的部分代码后、问题可能消失
我能够将部分代码和调试变量添加到专用的闪存和 RAM 部分。
通过这个技巧、我添加了指令:
"MemCfg_getUncorrErrorAddress"
击穿。
返回值为0x910E
值始终相同。
奇怪的是、该问题与闪存的内容有关。
我有一个为校准数据保留的闪存区域。 该区域为0x90000至0x91FFF、当前它仅使用0x90000至0x90067范围内的区域。
该区域在启动时被读取并加载到 RAM 中(与 "MemCfg_getUncorrErrorAddress"返回的 RAM 部分不同)
但是这个区域在错误被置位前被加载(我已经在加载后添加了一个清除 ECC 错误的区域)
如果该区域发生故障、则不执行负载、也不存在问题。
将样本中的闪存内容加载到另一个样本中会得到相同的错误结果(因此单个 DSP 没有相关缺陷)。
以"MemCfg_getUncorrErrorAddress"返回的值是否可靠? 是否存在生成错误 ECC 的已知问题?
它是否与.cmd 文件去除相关? 它是否与 HWBIST (或 闪存/ RAM 上的其他诊断检查)相关?
您有没有找到该问题的建议?
是否能够滤除启动时的误差?
我要避免的是 ECC 错误再次出现。
非常感谢
Barbara