From aba5951e6fb6ddfc37075eb65eafacb54a7b9c3e Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 13 Sep 2021 12:41:57 -0700 Subject: meta-xilinx-standalone: Update the README Refactor the README file to correctly capture the implementation and usage details of the layer. Signed-off-by: Mark Hatle --- meta-xilinx-standalone/README.md | 76 +++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/meta-xilinx-standalone/README.md b/meta-xilinx-standalone/README.md index 48b83e1a..a3514230 100644 --- a/meta-xilinx-standalone/README.md +++ b/meta-xilinx-standalone/README.md @@ -15,6 +15,9 @@ configuration build, or a multiconfig build. A multiconfig build, along with the MACHINES defined in meta-xilinx-bsps will automate the generation of certain firmwares. +Toolchains +---------- + To build standalone toolchains similar to those embedded with the Xilinx xsct tooling: @@ -26,40 +29,61 @@ Use one of the custom machines: MACHINE= DISTRO=xilinx-standalone bitbake meta-toolchain +Standalone Firmware +------------------- + +The standalone firmware is a genericly configured firmware, it can be +build either in a single standalong configuration, or via an automated +multiconfig approach only when needed. -To build the standalone firmware in a standard single configuration build: +* single configuration Select a machine: cortexa53-zynqmp - ZynqMP based Cortex-A53 target + Valid Targets: fsbl-firmware, meta-toolchain + cortexa72-versal - Versal based Cortex-A72 target + Valid Targets: meta-toolchain + cortexa9-zynq - Zynq based cortex-A9 target + Valid Targets: meta-toolchain + cortexr5-versal - Versal based Cortex-R5 target + Valid Targets: meta-toolchain + cortexr5-zynqmp - ZynqMP based Cortex-R5 target + Valid Targets: meta-toolchain + microblaze-versal-fw - Microblaze for Versal PSM/PLM firmware - microblaze-zyqmp-pmu - Microblaze for ZynqMP PMU firmware + Valid Targets: psm-firmware, plm-firmware, meta-toolchain + + microblaze-zynqmp-pmu - Microblaze for ZynqMP PMU firmware + Valid Target: pmu-firmware, meta-toolchain + -To build ZynqMP PMU Firmware: -MACHINE=microblaze-zynqmp-pmu DISTRO=xilinx-standalone bitbake pmu-firmware +To build you should use a command similar to: +MACHINE= DISTRO=xilinx-standalone bitbake -To build Versal PLM and PSM Firwmare -MACHINE=microblaze-versal-fw DISTRO=xilinx-standalone bitbake plm-firmware psm-firmware +* multiconfig setup -In a multiconfig build, add the following pre-defined multiconfigs to enable -firmware building, and automatic packaging by the Linux side software. +To automatically build the standalone firmware with a Linux build, you need +to only add the following to your conf/local.conf file. This will use +the multiconfig mechanism within the Yocto Project to build the corresponding +standalone firmware on demand. -Edit the local.conf file, add: +Edit the conf/local.conf file, add: -# For zynqmp -BBMULTICONFIG += "zynqmp-pmufw" +# For zynqmp-generic +BBMULTICONFIG += "fsbl-fw zynqmp-pmufw" -# For versal +# For versal-generic BBMULTICONFIG += "versal-fw" To build: # For zynqmp, select a zynqmp machine or the generic one -MACHINE=zynqmp-generic bitbake pmufw +MACHINE=zynqmp-generic bitbake fsbl pmufw # For versal, select a versal machine or the generic one MACHINE=versal-generic bitbake plmfw psmfw @@ -87,29 +111,3 @@ This layer depends on: URI: git://git.yoctoproject.org/poky URI: git://git.yoctoproject.org/meta-xilinx/meta-xilinx-bsp - -Usage -===== - -1.- Clone this layer along with the specified layers - -2.- $ source oe-init-build-env - -3.- Add this layer to BBLAYERS on conf/bblayers.conf - -4.- Add the following to your conf/local.conf to build for the -microblaze architecture: - -DISTRO="xilinx-standalone" - -MACHINE="microblaze-pmu" - -5.- Build a package: - -for example: - -$ bitbake newlib - -or - -$ bitbake meta-toolchain -- cgit v1.2.3-54-g00ecf