diff options
author | Mark Hatle <mark.hatle@amd.com> | 2023-01-12 11:50:02 -0800 |
---|---|---|
committer | Mark Hatle <mark.hatle@amd.com> | 2023-01-13 23:31:51 -0600 |
commit | 9a8466d7e8fd13a93f6268f3256c64245e5a6c68 (patch) | |
tree | 00dec42301b0fbba583b6a7485e5355b6fa00be0 /meta-xilinx-standalone-experimental | |
parent | 3962c9100dc7ec840b43c45c1281d47641502ec1 (diff) | |
download | meta-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-setup | 70 |
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 @@ | |||
1 | Document Version: 20230111 | 1 | Document Version: 20230112 |
2 | 2 | ||
3 | The Yocto Project setup for the new workflow is as follows. Be sure to read | 3 | The Yocto Project setup for the System Device Tree workflow is as follows. |
4 | everything below, as the steps will be updated in the future if the | 4 | Be sure to read everything below, as the steps will be updated in the future |
5 | setup script changes. | 5 | if the setup script changes. |
6 | 6 | ||
7 | The steps in this document expect that you have already built the setup | 7 | The 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 | |||
43 | To 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 |
46 | BASE_TMPDIR = "${TOPDIR}" | 48 | BASE_TMPDIR ?= "${TOPDIR}" |
47 | require conf/cortexa53-zynqmp-linux.conf | 49 | require conf/cortexa53-zynqmp-linux.conf |
48 | SYSTEM_DTFILE = "/proj/yocto/zu_sdt/system-top.dts" | 50 | SYSTEM_DTFILE = "/proj/yocto/zu-sdt/system-top.dts" |
49 | BBMULTICONFIG += " 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" | 51 | BBMULTICONFIG += " 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" |
50 | FSBL_DEPENDS = "" | 52 | FSBL_DEPENDS = "" |
51 | FSBL_MCDEPENDS = "mc::cortexa53-0-zynqmp-fsbl-baremetal:fsbl-firmware:do_deploy" | 53 | FSBL_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 | |||
69 | To 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 |
72 | BASE_TMPDIR = "${TOPDIR}" | 71 | BASE_TMPDIR ?= "${TOPDIR}" |
73 | require conf/cortexa72-versal-linux.conf | 72 | require conf/cortexa72-versal-linux.conf |
74 | SYSTEM_DTFILE = "/proj/yocto/mhatle/DTB-FLOW/testing/vck190-sdt/system-top.dts" | 73 | SYSTEM_DTFILE = "/proj/yocto/versal_sdt/system-top.dts" |
75 | BBMULTICONFIG += " 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" | 74 | BBMULTICONFIG += " 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" |
76 | PLM_DEPENDS = "" | 75 | PLM_DEPENDS = "" |
77 | PLM_MCDEPENDS = "mc::microblaze-0-pmc:plm-firmware:do_deploy" | 76 | PLM_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}" | |||
79 | PSM_DEPENDS = "" | 78 | PSM_DEPENDS = "" |
80 | PSM_MCDEPENDS = "mc::microblaze-0-psm:psm-firmware:do_deploy" | 79 | PSM_MCDEPENDS = "mc::microblaze-0-psm:psm-firmware:do_deploy" |
81 | PSM_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-0-psm/deploy/images/${MACHINE}" | 80 | PSM_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-0-psm/deploy/images/${MACHINE}" |
82 | PDI_PATH = "__PATH TO PDI FILE HERE__" | 81 | PDI_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: | 85 | PDI_PATH = "__PATH TO PDI FILE HERE__" |
87 | PDI_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 | |||
92 | Each BBMULTICONFIG value requires all of the recipes to be parsed for that | ||
93 | configuration. Thus each multiconfig will add more parsing time. A long list | ||
94 | can lead to a very slow parse (many minutes). To speed up parsing, it is | ||
95 | suggested that you trim this down to only the configurations you require. | ||
96 | Below is the minimum BBMULTICONFIG required: | ||
97 | |||
98 | zynqmp: | ||
99 | BBMULTICONFIG += " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu" | ||
100 | |||
101 | versal: | ||
102 | BBMULTICONFIG += " microblaze-0-pmc microblaze-0-psm" | ||
103 | |||
104 | * Build your project | ||
105 | You should now be able to build your project normally. See the Yocto Project | ||
106 | documentation if you have questions on how to work with the multiconfig | ||
107 | recipes. 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: |
93 | bitbake petalinux-image-minimal | 111 | bitbake 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: | ||
116 | runqemu nographic slirp core-image-minimal | ||
117 | # To terminate qemu, usually the command is ctrl-a x | ||