使用跟踪子系统时发生处理器死锁怎么办?

电子说

1.3w人已加入

描述

描述

处理器可使用等待事件 (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)。不对该问题进行修复。

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

文章出处:【微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分