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.

[参考译文] TDA4AH-Q1:关于"SError"CPU 异常

Guru**** 2468610 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1467441/tda4ah-q1-about-serror-cpu-exception

器件型号:TDA4AH-Q1
主题中讨论的其他器件:TDA4VH

工具与软件:

在 TDA4AH/TDA4VH 上运行我们的专有操作系统时、通常 会发生 CPU 异常。
异常伴随寄存器(ESR)的值为0xBF000002、我知道 CPU 异常的原因是 SERROR。
AArch64 ESR 解码器

对于误差、ESR 寄存器 ISS 字段中的信息被定义。
我在查看 Cortex-A72的技术参考手册之前、ISS 字段的内容表示"Slave error"。
ARM Cortex-A72 MPCore 处理器技术参考手册 r0p3


[问题]
1)当发生"SError"CPU 异常时、 TDA4AH/TDA4VH 在 ESR 寄存器的 ISS 字段中记录是否有任何实现定义的信息?
2) 2)如果1的答案是"否"、则 ISS 字段中的信息被视为符合 Cortex-A72规范(=发生从器件错误)。
  -"从属"指的是哪些设备或外设?
  -在调查从器件错误时,是否有任何应检查的寄存器?

谢谢。

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

    您好!  

    感谢您的提问。 我们将其分配给我们的专家。

    此致、
    Sarabesh S.

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

    您好!

    扫描本主题中的信息、我怀疑您引用的解码器没有完整的信息来提供正确的解码。  解码器说、位24是 IDS (针对特定于实现)、但是 A72仅围绕指令定义了几个特定于实现的错误、这些错误与提供的错误不符。 需要更多上下文才能完全解码 ESR。  如果我使用不同的解码器、则认为位24应该是 ISV (指令综合征有效)。  即使在这种情况下,我不认为足够的信息可以提供给解码器,但我认为它是一个更好的猜测,然后什么网页解码器给出.  在查看它时、我倾向于猜测 L2内存系统表可能会有问题。

     

    我经常在 TDA4VH 上运行 Linux 和 QNX、我不经常看到这个错误。  我想、您的 MMU 或存储器设置中的某些内容可能不符合规范、或者定制电路板是否存在某种电压问题。

    我建议运行 ETM 硬件处理器跟踪之类的操作并查看与中止相关的活动。  如果地址范围是系统的、那么针对存储器错误打开和关闭 PMU 计数器将提供另一种级别的线索。

    值得注意的是、您应该确保 L2高速缓存时间从其默认值进行调整。  如果您的自定义操作系统没有执行此操作、我可以看到这是可能的根本原因(以及某些内存属性配置错误)。  我记得使用自定义操作系统的客户在其中缺少关键补丁。  您应该确保将 L2数据 RAM 时序设置为4 (不是默认值2)。

    https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/heads/master/plat/ti/k3/common/k3_helpers.S#108

    此外、我强烈建议为每个集群启用 ECC。

    https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/heads/master/plat/ti/k3/common/k3_helpers.S#117

    快速测试方法是使用 TRACE32等 JTAG 调试器。

    此致、
    理查德·W·