02-14-2019 01:08 PM
I'd like to know more about how uboot is used to flash the ultrascale's QSPI memory.
Specifically, I'm running a DDR-less system, and I'd like to flash the QSPI memory with a FSBL, an application, and some PL, but it hangs during the flash.
I can flash an boot image that has just an application and an FSBL just fine.
however, when I add PL to the boot image, the flash hangs forever, with just a message from mini-uboot giving its version and saying it thinks it has 256K of DRAM.
So, my thought is that maybe the mini-uboot used by the SDK might need to be recompiled with a flag to tell it there is no DRAM (if I'm lucky), or hacked (if I'm unlucky).
However, I've looked for the uboot sources in the SDK, and I don't see them. How can I get some insight into what is happening behind the scenes when I try to flash the QSPI with a boot image that has a partition with PL in it?
02-14-2019 02:25 PM
I'm not familier with DRAM less system.
But it seems OCM size issue.
How many size do you prepare your whole application ?
Is the memory size enough OCM ?
I suggest you to confirm them.
02-14-2019 02:50 PM
Hi @watari. The application will fit in OCM, but the PL bitstream will not. However, the PL bitstream is not targeted for OCM.,.. it is targeted for PL.
Is it a supported feature to flash a bitstream from the SDK if the target ZynqMP platform has no DDR?
02-14-2019 02:58 PM
BTW, can ARM CPU or Zynq (include internal bus architecture) support QSPI execution ?
I guess, it might not support it.
So, I'm sure, at least, u-boot should load all executable application into OCM.
Do you have enough meory size ?
I'm an intaresting your challenge. But it seems to be hard to resolve it...
02-15-2019 08:25 AM
What version of tools are you using? It is my understanding that the latestest version should support programming any size of boot.bin. The downloader (host side) breaks up the data into 64KB chunks and uboot writes these chunks to qspi. Is it possible that you did not disable DDR in the FSBL image used for initialization during programming?
For Zynq, I went down a different path once upon a time. I created a baremetal app to do the programming instead of a mini uboot. Remember that this is zynq, but I had to make a few small changes to FSBL regarding DDR check and DDR base address. But I don't believe these same limitations exist in mpsoc's fsbl.