diff options
author | Mark Hatle <mark.hatle@xilinx.com> | 2021-09-13 12:41:57 -0700 |
---|---|---|
committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2021-09-28 08:20:16 -0700 |
commit | aba5951e6fb6ddfc37075eb65eafacb54a7b9c3e (patch) | |
tree | 7bd33bf0f45d0a89dba2d2e10a9fc520739e6abb /meta-xilinx-standalone/README.md | |
parent | 46c49989da7a93be7c0893200521b6ea40d60011 (diff) | |
download | meta-xilinx-aba5951e6fb6ddfc37075eb65eafacb54a7b9c3e.tar.gz |
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 <mark.hatle@xilinx.com>
Diffstat (limited to 'meta-xilinx-standalone/README.md')
-rw-r--r-- | meta-xilinx-standalone/README.md | 76 |
1 files 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 | |||
15 | with the MACHINES defined in meta-xilinx-bsps will automate the generation | 15 | with the MACHINES defined in meta-xilinx-bsps will automate the generation |
16 | of certain firmwares. | 16 | of certain firmwares. |
17 | 17 | ||
18 | Toolchains | ||
19 | ---------- | ||
20 | |||
18 | To build standalone toolchains similar to those embedded with the | 21 | To build standalone toolchains similar to those embedded with the |
19 | Xilinx xsct tooling: | 22 | Xilinx xsct tooling: |
20 | 23 | ||
@@ -26,40 +29,61 @@ Use one of the custom machines: | |||
26 | 29 | ||
27 | MACHINE=<machine> DISTRO=xilinx-standalone bitbake meta-toolchain | 30 | MACHINE=<machine> DISTRO=xilinx-standalone bitbake meta-toolchain |
28 | 31 | ||
32 | Standalone Firmware | ||
33 | ------------------- | ||
34 | |||
35 | The standalone firmware is a genericly configured firmware, it can be | ||
36 | build either in a single standalong configuration, or via an automated | ||
37 | multiconfig approach only when needed. | ||
29 | 38 | ||
30 | To build the standalone firmware in a standard single configuration build: | 39 | * single configuration |
31 | 40 | ||
32 | Select a machine: | 41 | Select a machine: |
33 | cortexa53-zynqmp - ZynqMP based Cortex-A53 target | 42 | cortexa53-zynqmp - ZynqMP based Cortex-A53 target |
43 | Valid Targets: fsbl-firmware, meta-toolchain | ||
44 | |||
34 | cortexa72-versal - Versal based Cortex-A72 target | 45 | cortexa72-versal - Versal based Cortex-A72 target |
46 | Valid Targets: meta-toolchain | ||
47 | |||
35 | cortexa9-zynq - Zynq based cortex-A9 target | 48 | cortexa9-zynq - Zynq based cortex-A9 target |
49 | Valid Targets: meta-toolchain | ||
50 | |||
36 | cortexr5-versal - Versal based Cortex-R5 target | 51 | cortexr5-versal - Versal based Cortex-R5 target |
52 | Valid Targets: meta-toolchain | ||
53 | |||
37 | cortexr5-zynqmp - ZynqMP based Cortex-R5 target | 54 | cortexr5-zynqmp - ZynqMP based Cortex-R5 target |
55 | Valid Targets: meta-toolchain | ||
56 | |||
38 | microblaze-versal-fw - Microblaze for Versal PSM/PLM firmware | 57 | microblaze-versal-fw - Microblaze for Versal PSM/PLM firmware |
39 | microblaze-zyqmp-pmu - Microblaze for ZynqMP PMU firmware | 58 | Valid Targets: psm-firmware, plm-firmware, meta-toolchain |
59 | |||
60 | microblaze-zynqmp-pmu - Microblaze for ZynqMP PMU firmware | ||
61 | Valid Target: pmu-firmware, meta-toolchain | ||
62 | |||
40 | 63 | ||
41 | To build ZynqMP PMU Firmware: | 64 | To build you should use a command similar to: |
42 | MACHINE=microblaze-zynqmp-pmu DISTRO=xilinx-standalone bitbake pmu-firmware | 65 | MACHINE=<machine> DISTRO=xilinx-standalone bitbake <recipe> |
43 | 66 | ||
44 | To build Versal PLM and PSM Firwmare | ||
45 | MACHINE=microblaze-versal-fw DISTRO=xilinx-standalone bitbake plm-firmware psm-firmware | ||
46 | 67 | ||
68 | * multiconfig setup | ||
47 | 69 | ||
48 | In a multiconfig build, add the following pre-defined multiconfigs to enable | 70 | To automatically build the standalone firmware with a Linux build, you need |
49 | firmware building, and automatic packaging by the Linux side software. | 71 | to only add the following to your conf/local.conf file. This will use |
72 | the multiconfig mechanism within the Yocto Project to build the corresponding | ||
73 | standalone firmware on demand. | ||
50 | 74 | ||
51 | Edit the local.conf file, add: | 75 | Edit the conf/local.conf file, add: |
52 | 76 | ||
53 | # For zynqmp | 77 | # For zynqmp-generic |
54 | BBMULTICONFIG += "zynqmp-pmufw" | 78 | BBMULTICONFIG += "fsbl-fw zynqmp-pmufw" |
55 | 79 | ||
56 | # For versal | 80 | # For versal-generic |
57 | BBMULTICONFIG += "versal-fw" | 81 | BBMULTICONFIG += "versal-fw" |
58 | 82 | ||
59 | To build: | 83 | To build: |
60 | 84 | ||
61 | # For zynqmp, select a zynqmp machine or the generic one | 85 | # For zynqmp, select a zynqmp machine or the generic one |
62 | MACHINE=zynqmp-generic bitbake pmufw | 86 | MACHINE=zynqmp-generic bitbake fsbl pmufw |
63 | 87 | ||
64 | # For versal, select a versal machine or the generic one | 88 | # For versal, select a versal machine or the generic one |
65 | MACHINE=versal-generic bitbake plmfw psmfw | 89 | MACHINE=versal-generic bitbake plmfw psmfw |
@@ -87,29 +111,3 @@ This layer depends on: | |||
87 | URI: git://git.yoctoproject.org/poky | 111 | URI: git://git.yoctoproject.org/poky |
88 | 112 | ||
89 | URI: git://git.yoctoproject.org/meta-xilinx/meta-xilinx-bsp | 113 | URI: git://git.yoctoproject.org/meta-xilinx/meta-xilinx-bsp |
90 | |||
91 | Usage | ||
92 | ===== | ||
93 | |||
94 | 1.- Clone this layer along with the specified layers | ||
95 | |||
96 | 2.- $ source oe-init-build-env | ||
97 | |||
98 | 3.- Add this layer to BBLAYERS on conf/bblayers.conf | ||
99 | |||
100 | 4.- Add the following to your conf/local.conf to build for the | ||
101 | microblaze architecture: | ||
102 | |||
103 | DISTRO="xilinx-standalone" | ||
104 | |||
105 | MACHINE="microblaze-pmu" | ||
106 | |||
107 | 5.- Build a package: | ||
108 | |||
109 | for example: | ||
110 | |||
111 | $ bitbake newlib | ||
112 | |||
113 | or | ||
114 | |||
115 | $ bitbake meta-toolchain | ||