描述
对于正确的L2高速缓存操作,用户代码必须在启用L2高速缓存之前将slcr.L2C_RAM寄存器(地址0xF800_0A1C)编程为值0x0002_0202。重置值(0x0001_0101)可能很少导致L2高速缓存返回无效数据。
解
在启用L2高速缓存之前,由用户代码(FSBL或其他用户代码)将slcr.L2C_RAM寄存器设置为值0x0002_0202。
注意: L2缓存在复位后被禁用,并且BootROM未启用。
Xilinx EDK / SDK版本14.4的说明:
- 下载此答复记录末尾的ZIP文件。
- 将boot.s文件解压缩到Xilinx EDK / SDK安装目录(例如,C:\ Xilinx \ 14.4 \ ISE_DS \ EDK)。
- 验证boot.s文件是否已写入gcc目录(例如,C:\ Xilinx \ 14.4 \ ISE_DS \ EDK \ sw \ lib \ bsp \ standalone_v3_08_a \ src \ cortexa9 \ gcc)。
受影响的系统:使用SDK 14.4或更早版本的所有系统。
解决方案:此修补程序计划集成到未来的SDK版本中。寄存器写入可以添加到任何以前版本的软件中。
注意: slcr.l2C_RAM寄存器以前是保留的。它在Zynq-7000 SoC技术参考手册(TRM)v1.5中添加为“保留”。
附件
相关附件
名称 | 文件大小 | 文件类型 |
---|---|---|
ar54190.zip | 5 KB | 压缩 |
没有回复内容