Versal ACAP,APU - 跟踪系统中发生 ATB 停滞可能引发处理器死锁

描述
处理器可使用等待事件 (wait for event, WFE) 或等待中断 (wait for interrupt, WFI) 机制来进入低功耗状态。仅当嵌入式跟踪宏单元 (Embedded Trace Macrocell, ETM) 耗尽 AMBA ATB 接口上的所有跟踪字节后,处理器才能进入低功耗状态。

在某些情况下,AMBA ATB 停滞可能导致处理器挂起,直至 AMBA ATB 停滞条件全部清除为止。

某些跟踪子系统可能需要在处理器上执行相应指令才能清除 AMBA ATB 停滞条件。此类跟踪子系统的示例包括通过 SMMU 来耗尽对存储器子系统执行的跟踪等。

当使用此类跟踪子系统时,可能发生处理器死锁。

条件

1. 跟踪子系统需要在处理器上执行相应指令才能清除 AMBA ATB 停滞条件。
2. ETM 已启用。
3. 处理器正在执行 WFI 或 WFE 指令。
4. ETM 无法耗尽跟踪数据,因为跟踪停滞持续处于断言有效状态。

解决方案

影响:

可能需发起中断才能在处理器上执行相应指令来解除跟踪停滞条件。

此错误意味着将不会执行中断,因此将发生处理器死锁。

变通方法:

请确保跟踪子系统与软件之间不存在用于耗尽跟踪字节的互锁。

受影响的配置:

具有 Arm Cortex-A72 (APU) 的所有 Versal 器件。

解决方案:
请参阅此第三方勘误表 (Arm, Inc. 850321)。不对该问题进行修复。

最新文章

最新文章