summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone-experimental
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2023-01-12 11:50:02 -0800
committerMark Hatle <mark.hatle@amd.com>2023-01-13 23:31:51 -0600
commit9a8466d7e8fd13a93f6268f3256c64245e5a6c68 (patch)
tree00dec42301b0fbba583b6a7485e5355b6fa00be0 /meta-xilinx-standalone-experimental
parent3962c9100dc7ec840b43c45c1281d47641502ec1 (diff)
downloadmeta-xilinx-9a8466d7e8fd13a93f6268f3256c64245e5a6c68.tar.gz
README-setup: Update instructions to better explain usage
Reword sections, update the example to use -l, and explain how BBMULTICONFIG affects parse performance and possible mitigation strategies. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-standalone-experimental')
-rw-r--r--meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup70
1 files changed, 46 insertions, 24 deletions
diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup b/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup
index 4051ad21..4dc5737f 100644
--- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup
+++ b/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup
@@ -1,8 +1,8 @@
1Document Version: 20230111 1Document Version: 20230112
2 2
3The Yocto Project setup for the new workflow is as follows. Be sure to read 3The Yocto Project setup for the System Device Tree workflow is as follows.
4everything below, as the steps will be updated in the future if the 4Be sure to read everything below, as the steps will be updated in the future
5setup script changes. 5if the setup script changes.
6 6
7The steps in this document expect that you have already built the setup 7The steps in this document expect that you have already built the setup
8(meta-xilinx-setup) SDK, and installed it. 8(meta-xilinx-setup) SDK, and installed it.
@@ -32,20 +32,22 @@ however you may use any path you wish.
32. <build>/prestep/environment-setup-x86_64-petalinux-linux 32. <build>/prestep/environment-setup-x86_64-petalinux-linux
33 33
34# Run the script from the same directory as this README 34# Run the script from the same directory as this README
35<build>/prestep/dt-processor.sh -c <conf> -s <dtb> 35<build>/prestep/dt-processor.sh -c <conf> -s <dtb> -l conf/local.conf
36
37# Note: The -l option will automatically add the necessary parameters to the
38# local.conf file. If you need to re-run this comment, you just clear the
39# parameters from the end of the file. Without the -l option the items are
40# printed to the screen and must be manually added to your conf/local.conf
36 41
37# For example, zynqmp: 42# For example, zynqmp:
38# <build>/prestep/dt-processor.sh -c <build>/conf -s <device-tree>/zu-sdt/system-top.dts 43# ./prestep/dt-processor.sh -c conf -s /proj/yocto/zu-sdt/system-top.dts -l conf/local.conf
39# 44#
40# Follow the instructions returned by the script! 45# The following will be written to the end of the conf/local.conf file
41# Such as:
42
43To enable this, add the following to your local.conf:
44 46
45# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere 47# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere
46BASE_TMPDIR = "${TOPDIR}" 48BASE_TMPDIR ?= "${TOPDIR}"
47require conf/cortexa53-zynqmp-linux.conf 49require conf/cortexa53-zynqmp-linux.conf
48SYSTEM_DTFILE = "/proj/yocto/zu_sdt/system-top.dts" 50SYSTEM_DTFILE = "/proj/yocto/zu-sdt/system-top.dts"
49BBMULTICONFIG += " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu" 51BBMULTICONFIG += " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu"
50FSBL_DEPENDS = "" 52FSBL_DEPENDS = ""
51FSBL_MCDEPENDS = "mc::cortexa53-0-zynqmp-fsbl-baremetal:fsbl-firmware:do_deploy" 53FSBL_MCDEPENDS = "mc::cortexa53-0-zynqmp-fsbl-baremetal:fsbl-firmware:do_deploy"
@@ -61,17 +63,14 @@ PMU_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-0-pmu/deploy/images/${M
61# OR 63# OR
62# 64#
63# Versal: 65# Versal:
64# <build>/prestep/dt-processor.sh -c <build>/conf -s <device-tree>/vck190-sdt/system-top.dts 66# ./prestep/dt-processor.sh -c conf -s /proj/yocto/versal-sdt/system-top.dts -l conf/local.conf
65# 67#
66# Follow the instructions returned by the script! 68# The following will be written to the end of the conf/local.conf file
67# Such as:
68
69To enable this, add the following to your local.conf:
70 69
71# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere 70# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere
72BASE_TMPDIR = "${TOPDIR}" 71BASE_TMPDIR ?= "${TOPDIR}"
73require conf/cortexa72-versal-linux.conf 72require conf/cortexa72-versal-linux.conf
74SYSTEM_DTFILE = "/proj/yocto/mhatle/DTB-FLOW/testing/vck190-sdt/system-top.dts" 73SYSTEM_DTFILE = "/proj/yocto/versal_sdt/system-top.dts"
75BBMULTICONFIG += " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos" 74BBMULTICONFIG += " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos"
76PLM_DEPENDS = "" 75PLM_DEPENDS = ""
77PLM_MCDEPENDS = "mc::microblaze-0-pmc:plm-firmware:do_deploy" 76PLM_MCDEPENDS = "mc::microblaze-0-pmc:plm-firmware:do_deploy"
@@ -79,17 +78,40 @@ PLM_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-0-pmc/deploy/images/${MACHINE}"
79PSM_DEPENDS = "" 78PSM_DEPENDS = ""
80PSM_MCDEPENDS = "mc::microblaze-0-psm:psm-firmware:do_deploy" 79PSM_MCDEPENDS = "mc::microblaze-0-psm:psm-firmware:do_deploy"
81PSM_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-0-psm/deploy/images/${MACHINE}" 80PSM_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-0-psm/deploy/images/${MACHINE}"
82PDI_PATH = "__PATH TO PDI FILE HERE__" 81PDI_PATH = "/proj/yocto/versal_sdt/project_1.pdi"
83 82
84# NOTE: On versal, you MUST specify the PDI file as directed by the instructions. 83# NOTE: On versal, you MUST specify the PDI file as directed by the instructions.
85# such as: PDI_PATH = "__PATH TO PDI FILE HERE__" 84# If the file is not found, it will put in a placeholder such as:
86# Use the full path to the corresponding PDI file, such as: 85PDI_PATH = "__PATH TO PDI FILE HERE__"
87PDI_PATH = "/proj/yocto/vck190-sdt/base-design.pdi" 86# This must be set to the path of the PDI file.
88 87
89# _EXIT THE NEW SHELL_ return the build environment 88# _EXIT THE NEW SHELL_ return the build environment
90 89
91### In the original build shell 90* Bitbake Performance Note
91
92Each BBMULTICONFIG value requires all of the recipes to be parsed for that
93configuration. Thus each multiconfig will add more parsing time. A long list
94can lead to a very slow parse (many minutes). To speed up parsing, it is
95suggested that you trim this down to only the configurations you require.
96Below is the minimum BBMULTICONFIG required:
97
98zynqmp:
99BBMULTICONFIG += " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu"
100
101versal:
102BBMULTICONFIG += " microblaze-0-pmc microblaze-0-psm"
103
104* Build your project
105You should now be able to build your project normally. See the Yocto Project
106documentation if you have questions on how to work with the multiconfig
107recipes. The following is a simple build for testing.
108
109# In the original build shell
92# Build your Linux sytem: 110# Build your Linux sytem:
93bitbake petalinux-image-minimal 111bitbake petalinux-image-minimal
94 112
95# The output will be in tmp/deploy/images/... 113# The output will be in tmp/deploy/images/...
114
115# If the system is QEMU capable execute QEMU using:
116runqemu nographic slirp core-image-minimal
117# To terminate qemu, usually the command is ctrl-a x