在某些高速缓存禁用的情况下,DDR 控制器不能正确地响应由 CPU 执行的独占存储 (STREX) 指令。
这可通过在启用高速缓存的可缓存内存空间内只执行 STREX 指令来避免。
影响:轻微,系统锁定非常罕见。
解决方法:如果需要独占操作的主控器仅限于 ARM 内核,让需要独占操作的区域可以缓存并启用 L1 高速缓存,就可避免该问题。此外,如果其中一个主控器恰好在 PL 中,则可以在 PL 中实现独占监控器,并将从 ARM CPU 和架构主控器的访问路由至该监控器。
受影响的配置:向 DDR 内存控制器发出独占操作的系统。
受到影响的器件修订版:参考 (Xilinx 答复 47916) - Zynq-7000 设计咨询主答复记录。
在某些情况下,DDRC 在执行 STREX 指令时不产生适当的响应。以下独占操作序列展示了一个 STREX 指令处理不当的场景。
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
53051 | Zynq-7000 SoC - PS DDR Controller | N/A | N/A |
AR# 47516 | |
---|---|
日期 | 06/13/2018 |
状态 | Active |
Type | 设计咨询 |
器件 |