描述
当启动一个ZYNQ器件具有大(和16MB)QSPI时,例如在ZEDB上,当快速QSPI时钟(超过40 MHz)被Program时,引导时间没有改善。
当用户将FSBL默认的QSPI时钟从25MHz(除法器8)改变为100MHz(除法器为2)时,预计启动时间(加载比特流和应用程序)将下降。
相反,启动时间保持不变。
为什么会发生这种情况?γ
解决方案
这种行为是由于QSPI驱动程序的结构。
当QSPI部分大于16MB时,驱动器从线性切换到I/O访问模式。
I/O要求以不同的方式复制存储器,这与线性模式下的直接拷贝不一样快。
这可以通过以下方式来解决:
如果所有的启动代码都符合下面的16MB,那么在QSPI.C中(位于fsbl应用程序源目录中),可以在QSPI.C中的Flash ReaDID函数中添加以下行,在“推导Flash大小”代码块的结尾,在“返回XSTY成功”之前添加以下行:
QSPIFLASHSIZE=FLASHOR SIZEY128M;
注:如果引导图像大于16MB,或者如果它穿越16MB边界,那么这将不起作用。
在引导过程完成后,系统代码将控制对QSPI的访问,并且可以恢复对全部部分的访问。
没有回复内容