/
Using meta-xilinx-tools layer

Using meta-xilinx-tools layer

This page describes how to use meta-xilinx-tools, a new Yocto layer available from the v2016.3 release.

Table of Contents

General Layer Information


This layer depends on: xsct
  
For 2018.3 release:

xsct-tarball class fetches the required xsct tool and installs it in the local sysroots of Yocto build. All the recipes which depend xsct or bootgen will use from sysroots. Please see the Xilinx EULA license file for xsct after extracting the tarball.

See class for more details: https://github.com/Xilinx/meta-xilinx-tools/blob/rel-v2018.3/classes/xsct-tarball.bbclass  


For prior releases (2016.3 to 2018.2):
This layer depends on Xilinx SDK to be installed. Please download the SDK from
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html

This layer depends on XSCT being installed in the path. XSCT path has to be defined in local.conf
XILINX_SDK_TOOLCHAIN = "<path to installed XSCT>"
XILINX_VER_MAIN = "<release-version>"
release-version can be 2016.3, 2017.1 etc

meta-xilinx-tools recipes depends on HDF to provided

HDF_BASE can be set to git: or file:
HDF_PATH will be git repository or the path containing HDF

Ex:
HDF_BASE = "file://"
HDF_PATH = "<path-to-HDF-in-local-directory>"                 // ex: HDF_PATH = "/home/user/system.hdf"
 
 
HDF_BASE = "git://"
HDF_PATH = "<path-to-HDF-in-git>"                            //ex: HDF_PATH = "github.com/hdf-base.git"

Using the Layer

The layer can be used via dependencies while creating the required Boot.bin.
Basically the goal to build FSBL or PMU etc will depend on the use-case and Boot.bin will indicate these dependencies.

Boot.bin is created using bootgen tool from Xilinx. Please refer to help files of bootgen.
Executing bootgen -bif_help will provide some detailed help on BIF attributes.

BIF file is required for generating Boot.bin, BIF is partitioned into Common BIF attributes and Partition BIF attributes.
Attributes of BIF need to be specified in local.conf while using xilinx-bootbin.bbclass for generating Boot.bin

2018.1 release or above BOOT.BIN creation:

  
Once the HDF is provided using above mechanism (HDF_BASE and HDF_PATH) , meta-xilinx-tools will build boot.bin based on the below config
The above can be tuned in local.conf to include or remove things in boot.bin
To include boot.bin generation in a build, following recipe must be added as a dependency
  

2017.1 release or above BOOT.BIN creation:

Once the HDF is provided using above mechanism (HDF_BASE and HDF_PATH) , meta-xilinx-tools will build boot.bin based on the below config

https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynqmp.inc
https://github.com/Xilinx/meta-xilinx-tools/blob/master/conf/machine/include/machine-xilinx-zynq.inc

The above can be tuned in local.conf to include or remove things in boot.bin

Example ZU+ zcu102 Boot.bin BIF setup is provided (add these in local.conf for release 2016.4 or below):

|| #add Boot.bin dependencyIMAGE_CLASSES +=