04-26-2018 09:54 PM
Intention: To boot Linux on the board with the Zynq FPGA:
FPGA: Zynq XC7014S-1CLG484I,
PS-PL Works at 1.8V LVCMOS levels
DDR: 256 MB DDR3L MT41K128M16JT-125 ECC is disabled
QSPI: MT25QU01GBBB8ESF 256Mb/32MB Dual x2
SD0: MicroSD Card slot is used. (Speed-Fast, Pull-Up-Disabled) 50 MHz SD Clock. (SD MIO Settings are accurate).
UART1: 115200 Baud
Standard Zynq7 block design.
Vivado hardware project is created from the block design and the bit stream and the .hdf is created.
Vivado is running on a Windows 7 64-bit OS. Project.SDK Folder of the project is transferred to a system with Linux Ubuntu 16.04 with 4GB RAM.
new petalinux project is created, (referring UG1144) Page: 19
$ petalinux-create --type project --template <CPU_TYPE> --name
1.What should be the template if the FPGA is XC7Z014S-1CLG484I, it is not Zedboard or ZC702 so what template should be chosen (because the this FPGA has only single core processor, RAM is different, SD is MicroSD, QSPI is different)?
2. How to create or obtain BSP for XC7Z014S-1CLG484I (for linux platform any templates are available)?
3. What should be the Set CONFIG_SUBSYSTEM_MACHINE_NAME XC7Z014S-1CLG484I.
4. What procedure has to be followed to generate bsp, u-boot for this XC7Z014S-1CLG484I.
I have tried creating the boot image but it is not booting from MicroSD Card. (No SD clock signals are generated)(SD_CMD pull up is removed).
04-27-2018 04:06 AM
Create the project for the processor family (zynq, zynqmp, etc.) then configure with your hdf. Try something like:
$ petalinux-create --type project --name foo --template zynq
$ cd foo
$ petalinux-config --get-hw-description=<path to hdf>
04-30-2018 08:48 AM
Have you tested your board in standalone (ie export to SDK from Vivado, and make sure that you can pass the memory tests, ect?).
Create the FSBL, and SD boot image, and make sure you can boot from SD card.
If you have validated that your HW works as expected, then you can use petalinux to create the image. However, you would need to create a patch for your custom board for uboot:
Then in the petalinux-config -> u-boot config, choose your defconfig. You could use the default one created by petalinux. However, this will not be specific to your board.
05-02-2018 12:23 AM - edited 05-02-2018 04:13 AM
Thanks for the reply.
Followed the same steps, the way you have suggested.
It is booting through JTAG.
A small bug is there with MicroSD card booting probably it may be the hardware issue.
Apologies, i will revert back to you in detail in a while.
05-02-2018 03:07 AM
Have you access to ethernet in your linux? you can use the TFTP to boot your linux using netboot from uboot
You would need to update the DT to add the PHY node to your GEM node.
Then download a ftp server (like pumpkin), and in uboot setup your TFTP:
Then set up the tftp settings in uboot (make sure you can ping first):
05-02-2018 04:56 AM - edited 05-02-2018 04:58 AM
Quoted "If you have validated that your HW works as expected, then you can use petalinux to create the image. However, you would need to create a patch for your custom board for uboot:
Kindly specify the complete path (exact path of 1. configs/<custom-board>defconfig , 2. arch/arm/dts/<custom-board>.dts ,3. include/configs/<CONFIG_SYS_CONFIG_NAME>.h,) where the above three patches have to be replaced, there are many configs, arch, include folders inside a given petalinux project source directory which is causing confusion.
05-02-2018 05:00 AM
05-02-2018 05:11 AM
These are the path in your uboot. You would need to create these files manually based on your custom HW. You can use ones that exists that closely match your board, and rename and modifiy these to match your own HW.
So, you would need to clone the u-boot from github, and checkout the relevant branch (eg git checkout Xilinx-v2017.4)
Add in your custom board files. Once you are happy here, then you would build the uboot and test in hardware.
Once everything works, you could create a u-boot patch (git diff xilinx-v2017.4) and then add this to your uboot recipe in your petalinux project. Then in petalinux-config -> uboot settings, choose your custom defconfig.
Some references on how to clone and build the uboot:
How to patch petalinux Yocto:
05-16-2018 09:47 PM
05-18-2018 07:41 AM