描述
BootROM使用线性模式访问QSPI闪存的前16MB以查找引导映像。
如果在可选的就地执行模式下使用大于16MB的QSPI闪存,则可以放置启动映像的位置存在限制。
使用RSA时也适用相同的限制。有关更多详细信息,请参阅(Xilinx答复57900) 。
QSPI线性模式读取命令(6bh)可能无法获得前4个字节的正确数据。
查看下图,不正确的4字节数据来自内存的高16MB。
这是线性模式下QSPI控制器的已知行为。
在正常的QSPI引导模式(不是XIP)中,不使用BootROM头的前4个字节,校验和仅从0x020到0x044计算。
因此可以忽略不正确的数据。 QSPI将毫无问题地启动。
但是,如果QSPI使用XIP启动,则第一个字用于重新映射闪存线性地址空间。
以下情况仅适用于在单个x2或x4,双堆栈x4和双并行x4配置中大于16MB的QSPI闪存上使用RSA身份验证时。
使用大于16MB的QSPI器件和可选的就地执行模式时,启动映像不能放在闪存中的0x0偏移处。
解
此要求有三种可能的解决方法:
- 擦除前32KB闪存并将引导映像编程为0x0 + 32KB偏移量。
BootROM将从0x0启动失败,然后将从0x0 + 32KB偏移量回退并启动(请参阅UG585 Zynq-7000-TRM以进行启动分区搜索)。 - 将引导映像编程为0x0,并将映像头复制为0x0 + 16MB偏移量。
BootROM将使用0x0 + 16MB偏移的图像标头,然后使用编程为0x0的启动映像启动。 - 仅使用单个x1 QSPI模式。
注意:如果未使用XIP,即使QSPI大于16MB,也可将引导映像置于0x0。
没有回复内容