04-16-2021 10:17 AM
I have a Zynq 7000 (XQ7Z045RF900-1Q) board with x4 dual-stacked configuration QSPI (dual S25FL512S, 512MBit each). I can program the QSPI successfully with any image that is less than 0x1740000 bytes in size. For image size larger than that, the Vitis always reports that the verification failed at 0x740000.
I used a logic analyzer to captured the verification read data at 0x740000 and found that the read data are actually from 0x1740000 in the .bin image file. The transactions captured by the logic analyzer when programing around 0x1740000 don’t show abnormity. The transitions are the same as that writing to other addresses and the bank register write (command 0x17, for setting address bit 25) is correct. However, I noticed that starting at 0x1740000, the wirte-in-progress time reported by the flash increases significantly, as shown below:
I don't see any traffic on the 2nd QSPI when writing an image file less than 32MB.
04-21-2021 03:23 AM
>> Can you share your flash programming log? Are you trying with 2020.2 mini u-boot? If yes, can you please try with 2019.2 mini u-boot?
>> Can you try run a flash polled example with test address above 0x1740000 to ensure there are no issues with hardware design?