4.10 之前,由于 CoreLink™ Level 2 高速缓存控制器 L2C-310 在 linux-socfPGA 内核中的默认配置中出现问题,可以看到数据一致性故障。
对于 4.10 之前的 Linux-socfPGA 内核,L2C-310 高速缓存控制器将共享属性覆盖启用位设置为 OFF。
这使控制器能够优化从 MPU 内核或 ACP 端口的部分非高速缓存访问到可缓存的非分配访问,并将一致性点从 SDRAM 移到 L2 高速缓存。
如果大师通过 L3 或 FPGA2SDRAM 网桥访问 SDRAM,一致性点的变化可能会导致问题。
参考:CoreLink™ 二级高速缓存控制器 L2C-310,修订版:r3p3 技术参考手册(ARM DDI 0246H (ID080112)):第 2.3.2 节可分享属性。
建议将 Aux Control 寄存器位 [22]: 共享属性覆盖启用位 设置为 ON。 此设置禁用了 L2 高速缓存控制器中的优化。
此问题已在 https://github.com/altera-opensource/ 可提供的最新 linux-socfPGA 和 you-boot-socfPGA 版本中解决 https://github.com/altera-opensource/