It is currently not possible for Zynq board designs done with Vivado IP Integrator 2013.2 to be imported in PetaLinux 2013.04.
This answer record contains details on a method to patch the PetaLinux 2013.04 installation which allows Zynq Vivado IP Integrator designs to use PetaLinux 2013.04 successfully.
In addition, some of the PetaLinux tools check the XILINX_EDK environment variable; this variable is not set by Vivado tools. This patch addresses that issue by setting XILINX_EDK to a dummy value.
This answer record contains information on specific methods to enable Vivado IP Integrator 2013.02 Zynq support for PetaLinux 2013.04.
Note: Full support for the PetaLinux / Vivado IP Integrator flow is scheduled for PetaLinux 2013.10.
IMPORTANT NOTE: The method described in this answer record is for informational purposes only. PetaLinux integration with Vivado IP Integrator is not currently supported by Xilinx Technical Support.
- Source your existing PetaLinux 2013.04 settings.sh file.
- Change directory to the PetaLinux installation:
shell$ cd $PETALINUX
- Extract the patch:
shell$ tar -zxf petalinux_vivado_patch.tar.gz
- The following files will be extracted in the patch folder:
Source your PetaLinux settings script again to have the workaround for XILINX_EDK environment variable.Export your Vivado IP Integrator Zynq design to XSDK.From SDK, the steps in the PetaLinux Board Bringup Guide can be followed as normal.
Note: this procedure must be repeated for each separate PetaLinux installation or working copy present.
Known Issues and Limitations
- this patch does not work with MicroBlaze-based IP Integrator designs
support for MicroBlaze-based designs is expected in PetaLinux SDK 2013.10
- petalinux-boot-prebuilt does not function, because 'iMPACT' is no longer a standalone Vivado tool
Work-around: Use xmd manually to download the FPGA bitstream, u-boot image, and kernel image.
- petalinux-update-prebuilt looks for a file 'download.cmd' to identify the bitstream location
Work-around: using a text-editor, create a custom download.cmd which looks like this:
setCable -p auto
assignfile -p 2 -file <bitstream file path/name>
program -p 2
quit the text editor and point the bitstream file with the assignfile.
Note: the bitstream file path must be correct.
- petalinux-copy-autoconfig will try to run 'xps' to build the libs if the required files are not in the petalinux bsp
INFO: Using MSS file ./system.mss and XML file ./../hw_platform_0/system.xml
INFO: Attempting vendor/platform auto-detect
INFO: Auto-detected platform "Xilinx/ZC706-2013.02"
INFO: BSP files missing - regenerating...
petalinux-copy-autoconfig: line 608: xps: command not found
ERROR: auto-config file or device tree does not exist for CPU ps7_cortexa9_0 in project .
ERROR: Confirm you have completed the EDK system build process.
Work-around: Ensure that the BSP generation flow is completed in XSDK prior to running petalinux-copy-autoconfig.
In addition to Vivado, the same as the XPS flow, XSDK is also required to build the XSDK PetaLinux BSP project.
- petalinux-package-bsp -c option cannot clean up the Vivado project, due to Vivado having a different folder structure and no *.xmp file
basename: missing operand
Try `basename -help' for more information.
Work-around: Manually clean any unused project files and do not specify the "-c" (or "--clean") argument.