07-17-2019 09:39 AM
I have successfully programmed the QSPI using xsct and the program_flash tool. However I am getting an error on the serial terminal:
No valid device tree binary found - please append one to U-Boot binary, use u-boot-dtb.bin or define CONFIG_OF_EMBED. For sandbox, use -d <file.dtb> initcall sequence 0405d32c failed at call 0403d884 (err=-1) ### ERROR ### Please RESET the board ###
It boots on the sd card fine. The contents of BOOT.BIN are: zynq-fsbl.elf and u-boot.elf
U-boot then reaches out to a server and then downloads the image.ub file (device tree, kernel, root fs)
Why does QSPI need a device tree and how can I fix this?
07-18-2019 02:49 AM
Hi @stephenm
The issue was the u-boot.elf file I generated myself. I programmed the QSPI with a prebuilt BOOT.BIN and it worked so there was an issue with the u-boot file I generated.
The issue was when I built u-boot, petalinux added environment variables into my header file (zynq-common-new.h) most notably a fdt address and so I'm guessing when there wasnt one on that address at u-boot the board didn't like it. So I took out those generated environment variables and it works fine. Thanks
07-17-2019 10:24 PM
Do you see this issue on the XSCT when calling the program_flash utility?
program_flash uses a uboot binary under the hood to program the QSPI. So, I think the error is here.
What version of the XSCT are you using?
Can you show the complete log please including the command you used?
07-18-2019 02:49 AM
Hi @stephenm
The issue was the u-boot.elf file I generated myself. I programmed the QSPI with a prebuilt BOOT.BIN and it worked so there was an issue with the u-boot file I generated.
The issue was when I built u-boot, petalinux added environment variables into my header file (zynq-common-new.h) most notably a fdt address and so I'm guessing when there wasnt one on that address at u-boot the board didn't like it. So I took out those generated environment variables and it works fine. Thanks