diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 142 |
1 files changed, 129 insertions, 13 deletions
@@ -1,21 +1,137 @@ | |||
1 | This layer provides support for Xilinx microblaze and zynq platforms. | 1 | meta-xilinx |
2 | =========== | ||
2 | 3 | ||
3 | Specific boards supported in this layer: | 4 | This layer provides Official support for Xilinx MicroBlaze and Zynq architectures |
5 | as well as evaluation boards. | ||
4 | 6 | ||
5 | * kc705 microblaze TRD | 7 | Supported Boards/Machines |
6 | * zc702 Zynq evaluation board | 8 | ========================= |
7 | * zedboard Avnet Digilent evaluation board | ||
8 | 9 | ||
9 | End users should create a layer and use bbappends to extend | 10 | Boards Supported by this layer and sub-layers: |
10 | the recipes in this layer to support their boards. | 11 | * Xilinx KC705 Embedded TRD (MicroBlaze) |
12 | * Xilinx ZC702 (Zynq) | ||
13 | * Avnet/Digilent ZedBoard (Zynq) | ||
11 | 14 | ||
12 | Patches for this layer should be sent to meta-xilinx@lists.yoctoproject.org. | 15 | Patches |
16 | ======= | ||
13 | 17 | ||
14 | You can submit single patches with this command: | 18 | Please submit any patches for this layer to: meta-xilinx@lists.yoctoproject.org. |
15 | 19 | ||
16 | 'git send-email -M -1 --to meta-xilinx@lists.yoctoproject.org --subject-prefix=PATCH' | 20 | Please see the MAINTAINERS file for more details. |
17 | 21 | ||
18 | For longer sets fork the meta-xilinx repo on github and push to a branch. | 22 | Dependencies |
23 | ============ | ||
19 | 24 | ||
20 | Refer to the README in each meta-<bsp> layer for building and booting | 25 | This layer depends on: |
21 | information. \ No newline at end of file | 26 | |
27 | URI: git://git.openembedded.org/bitbake | ||
28 | |||
29 | URI: git://git.openembedded.org/openembedded-core | ||
30 | layers: meta | ||
31 | |||
32 | (for external toolchains only) | ||
33 | URI: git://github.com/MentorEmbedded/meta-sourcery.git | ||
34 | layers: meta-sourcery | ||
35 | |||
36 | This repository also contains sub-layers which depend on this layer. | ||
37 | |||
38 | Sub-Layers | ||
39 | ========== | ||
40 | |||
41 | This repository contains the meta-xilinx layer as well as additional board | ||
42 | specific layers. Each of these board specific layers provide additional | ||
43 | configuration for the associated board. Please refer to the associated README | ||
44 | in each sub-layer for more details. | ||
45 | |||
46 | Note: sub-layers have no dependency between each other, all sub-layers can be | ||
47 | used at the same time without conflicts. | ||
48 | |||
49 | Build Instructions | ||
50 | ================== | ||
51 | |||
52 | The following instructions require a Poky installation (or equivalent). | ||
53 | |||
54 | Initialize a build using the 'oe-init-build-env' script in Poky. Once | ||
55 | initialized configure bblayers.conf by adding the 'meta-xilinx' layer as | ||
56 | well as any or all of the sub-layers of this repository, e.g.: | ||
57 | |||
58 | meta-xilinx \ | ||
59 | meta-xilinx/meta-kc705 \ | ||
60 | meta-xilinx/meta-zc702 \ | ||
61 | meta-xilinx/meta-zedboard \ | ||
62 | |||
63 | To build a specific target BSP configure the associated machine in local.conf: | ||
64 | (See associated sub-layers for available machines and additional details) | ||
65 | |||
66 | MACHINE ?= "zc702" | ||
67 | |||
68 | Note: Currently MicroBlaze targets only support being built with an External | ||
69 | toolchain, please see the section below 'Configuring External Toolchain'. | ||
70 | |||
71 | Build the target file system image using bitbake: | ||
72 | |||
73 | $ bitbake core-image-minimal | ||
74 | |||
75 | Build additional targets include Linux and U-Boot: | ||
76 | |||
77 | $ bitbake linux-xlnx u-boot-xlnx | ||
78 | |||
79 | Once complete the images for the target machine will be available in the output | ||
80 | directory 'tmp/deploy/images'. | ||
81 | |||
82 | Images generated: | ||
83 | * core-image-minimal-<machine name>.cpio (rootfs in CPIO format) | ||
84 | * core-image-minimal-<machine name>.ext2.gz.u-boot (rootfs in EXT2+GZIP, u-boot wrapped format) | ||
85 | * u-boot.elf (U-Boot ELF) | ||
86 | * For Zynq: | ||
87 | * uImage (Linux Kernel binary, in u-boot wrapped format) | ||
88 | * uImage-<machine name>.dtb (DTB for target machine) | ||
89 | * For MicroBlaze: | ||
90 | * linux.bin.ub (Linux Kernel binary, in u-boot wrapped format) | ||
91 | * linux.bin.ub-<machine name>.dtb (DTB for target machine) | ||
92 | |||
93 | Booting | ||
94 | ======= | ||
95 | |||
96 | Please see the associated README for the target machine, located in the | ||
97 | associated sub-layer. | ||
98 | |||
99 | Configuring External Toolchain | ||
100 | ============================== | ||
101 | |||
102 | In order to build with an external toolchain some additional configuration must | ||
103 | be set in the build environments local.conf. The 'meta-sourcery' layer must also | ||
104 | be setup in your bblayers.conf | ||
105 | |||
106 | First configure the use of an external toolchain, including the location to the | ||
107 | toolchain (this example is for a microblazeel toolchain, ensure that you insert | ||
108 | the relevant information for your target machine and target toolchain): | ||
109 | |||
110 | TCMODE = "external-csl" | ||
111 | CSL_TARGET_SYS_<machine name> = "microblazeel-xilinx-linux-gnu" | ||
112 | EXTERNAL_TOOLCHAIN = "<path to toolchain>/microblazeel-xilinx-linux-gnu" | ||
113 | EXTERNAL_TOOLCHAIN_SYSROOT = "<path to toolchain>/microblazeel-xilinx-linux-gnu/microblazeel-xilinx-linux-gnu/libc" | ||
114 | INSANE_SKIP_external-sourcery-toolchain-dev += "ldflags" | ||
115 | |||
116 | Additionally the preferred provider for various packages must be configured to | ||
117 | use the external toolchain: | ||
118 | |||
119 | PREFERRED_PROVIDER_linux-libc-headers = "external-sourcery-toolchain" | ||
120 | PREFERRED_PROVIDER_linux-libc-headers-dev = "external-sourcery-toolchain" | ||
121 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-sourcery-toolchain" | ||
122 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-sourcery-toolchain" | ||
123 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-sourcery-toolchain" | ||
124 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-sourcery-toolchain" | ||
125 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-sourcery-toolchain" | ||
126 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-sourcery-toolchain" | ||
127 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-sourcery-toolchain" | ||
128 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-sourcery-toolchain" | ||
129 | PREFERRED_PROVIDER_libgcc = "external-sourcery-toolchain" | ||
130 | PREFERRED_PROVIDER_eglibc = "external-sourcery-toolchain" | ||
131 | PREFERRED_PROVIDER_virtual/libc = "external-sourcery-toolchain" | ||
132 | PREFERRED_PROVIDER_virtual/libintl = "external-sourcery-toolchain" | ||
133 | PREFERRED_PROVIDER_virtual/libiconv = "external-sourcery-toolchain" | ||
134 | PREFERRED_PROVIDER_glibc-thread-db = "external-sourcery-toolchain" | ||
135 | PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-sourcery-toolchain" | ||
136 | PREFERRED_PROVIDER_virtual/linux-libc-headers-dev = "external-sourcery-toolchain" | ||
137 | PREFERRED_PROVIDER_gdbserver = "external-sourcery-toolchain" | ||