blob: 48b83e1a1554592e7352e728ed0783bc0c768b67 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
meta-xilinx-standalone
======================
This layer is meant to augment Yocto/OE functionality to provide a
Baremetal/Standalone Toolchain as well as a generic version of various
firmware that is required to boot a ZynqMP or Versal system.
For optimized versions of the firmware and additional components you must
use the meta-xilinx-tools layer.
Building
--------
The software in this layer may be used in either a standard single
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.
To build standalone toolchains similar to those embedded with the
Xilinx xsct tooling:
Use one of the custom machines:
aarch32-tc - 32-bit ARM toolchains (various)
aarch64-tc - 64-bit ARM toolchains (various)
arm-rm-tc - ARM Cortex-R (and various)
microblaze-tc - Microblaze toolchains (various)
MACHINE=<machine> DISTRO=xilinx-standalone bitbake meta-toolchain
To build the standalone firmware in a standard single configuration build:
Select a machine:
cortexa53-zynqmp - ZynqMP based Cortex-A53 target
cortexa72-versal - Versal based Cortex-A72 target
cortexa9-zynq - Zynq based cortex-A9 target
cortexr5-versal - Versal based Cortex-R5 target
cortexr5-zynqmp - ZynqMP based Cortex-R5 target
microblaze-versal-fw - Microblaze for Versal PSM/PLM firmware
microblaze-zyqmp-pmu - Microblaze for ZynqMP PMU firmware
To build ZynqMP PMU Firmware:
MACHINE=microblaze-zynqmp-pmu DISTRO=xilinx-standalone bitbake pmu-firmware
To build Versal PLM and PSM Firwmare
MACHINE=microblaze-versal-fw DISTRO=xilinx-standalone bitbake plm-firmware psm-firmware
In a multiconfig build, add the following pre-defined multiconfigs to enable
firmware building, and automatic packaging by the Linux side software.
Edit the local.conf file, add:
# For zynqmp
BBMULTICONFIG += "zynqmp-pmufw"
# For versal
BBMULTICONFIG += "versal-fw"
To build:
# For zynqmp, select a zynqmp machine or the generic one
MACHINE=zynqmp-generic bitbake pmufw
# For versal, select a versal machine or the generic one
MACHINE=versal-generic bitbake plmfw psmfw
Maintainers, Mailing list, Patches
==================================
Please send any patches, pull requests, comments or questions for this
layer to the [meta-xilinx mailing list]
(https://lists.yoctoproject.org/listinfo/meta-xilinx):
meta-xilinx@lists.yoctoproject.org
Maintainers:
Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Mark Hatle <mark.hatle@xilinx.com>
Dependencies
============
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
|