Zynq-7000 SoC  – 使用大于16MB QSPI并具有可选的就地执行(XIP)模式时的引导映像要求-Xilinx-AMD社区-FPGA CPLD-ChipDebug

Zynq-7000 SoC – 使用大于16MB QSPI并具有可选的就地执行(XIP)模式时的引导映像要求

描述

BootROM使用线性模式访问QSPI闪存的前16MB以查找引导映像。

如果在可选的就地执行模式下使用大于16MB的QSPI闪存,则可以放置启动映像的位置存在限制。

使用RSA时也适用相同的限制。有关更多详细信息,请参阅(Xilinx答复57900)

QSPI线性模式读取命令(6bh)可能无法获得前4个字节的正确数据。

查看下图,不正确的4字节数据来自内存的高16MB。

这是线性模式下QSPI控制器的已知行为。

图片[1]-Zynq-7000 SoC  – 使用大于16MB QSPI并具有可选的就地执行(XIP)模式时的引导映像要求-Xilinx-AMD社区-FPGA CPLD-ChipDebug

在正常的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。

请登录后发表评论

    没有回复内容