Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Another way to manage your HDFs is to add them to a bbappend for the external-hdf recipe.  In order to manage multiple hardware designs and multiple machines, you can add the machine override to the HDF_BASE and HDF_PATH variables.  This way you can use your layer as the repository for your hardware designs.  In the example below, you can export all your hardware designs to the files directory in the external-hdf bbappend of your layer.

Version

...

2021 and earlier

Code Block
languagebash
themeMidnight
titleexternal-hdf.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

HDF_BASE_example-zcu102-zynqmp = "file://"
HDF_PATH_example-zcu102-zynqmp = "design_1_wrapper.xsa"

Version

...

2022 and later

Code Block
languagebash
themeMidnight
titleexternal-hdf.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

HDF_BASE:example-zcu102-zynqmp = "file://"
HDF_PATH:example-zcu102-zynqmp = "design_1_wrapper.xsa"

...

Code Block
languagebash
themeMidnight
titleexternal-hdf.bbappend
# attempt to determine a base machine assuming "<prefix><project>-<board>-<arch>"
# example: "myproj-zcu102-zynqmp" could use "zcu102-zynqmp" platform from GitHub

MACHINE_BASE = "${@'-'.join(MACHINE.rsplit('-')[-2:])}"

do_deploy_prepend() {
        if [ "${MACHINE_BASE}" != "${MACHINE}" ] &&
           [ -d ${WORKDIR}/git/${MACHINE_BASE} ]; then
                ln -sf ${MACHINE_BASE} ${WORKDIR}/git/${MACHINE}
        fi
}

...