Skip to content

Xilinx device and board support for Yocto/OE-core.

Notifications You must be signed in to change notification settings

balister/meta-xilinx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meta-xilinx
===========

This layer provides Official support for Xilinx MicroBlaze and Zynq
architectures as well as evaluation boards.

Supported Boards/Machines
=========================

Boards Supported by this layer (Please refer to the associate .conf for more
information):
	* Xilinx KC705 Embedded TRD (MicroBlaze)
	* Xilinx ZC702 (Zynq)
	* Avnet/Digilent ZedBoard (Zynq)

Additional information on the MicroBlaze or Zynq architectures can be found at:
	http://www.xilinx.com/support/index.htm

Patches
=======

Please submit any patches for this layer to: meta-xilinx@lists.yoctoproject.org.

Please see the MAINTAINERS file for more details.

Dependencies
============

This layer depends on:

	URI: git://git.openembedded.org/bitbake

	URI: git://git.openembedded.org/openembedded-core
	layers: meta

	(for external toolchains only)
	URI: git://github.com/MentorEmbedded/meta-sourcery.git
	layers: meta-sourcery

Build Instructions
==================

The following instructions require a Poky installation (or equivalent).

Initialize a build using the 'oe-init-build-env' script in Poky. Once
initialized configure bblayers.conf by adding the 'meta-xilinx' layer. e.g.:

	BBLAYERS ?= " \
		<path to layer>/oe-core/meta \
		<path to layer>/meta-xilinx \
		"

To build a specific target BSP configure the associated machine in local.conf:

	MACHINE ?= "zc702"

Note: Currently MicroBlaze targets only support being built with an External
toolchain, please see the section below 'Configuring External Toolchain'.

Build the target file system image using bitbake:

	$ bitbake core-image-minimal

Build additional targets include Linux and U-Boot:

	$ bitbake linux-xlnx u-boot-xlnx

Once complete the images for the target machine will be available in the output
directory 'tmp/deploy/images'.

Images generated:
	* core-image-minimal-<machine name>.cpio (rootfs in CPIO format)
	* core-image-minimal-<machine name>.ext2.gz.u-boot (rootfs in EXT2+GZIP, u-boot wrapped format)
	* u-boot.elf (U-Boot ELF)
	* For Zynq:
		* uImage (Linux Kernel binary, in u-boot wrapped format)
		* uImage-<machine name>.dtb (DTB for target machine)
	* For MicroBlaze:
		* linux.bin.ub (Linux Kernel binary, in u-boot wrapped format)
		* linux.bin.ub-<machine name>.dtb (DTB for target machine)

Booting
=======

Please see the associated README file for each avaliable boot method in the
'docs/BOOT.*' files of this layer.

Configuring External Toolchain
==============================

In order to build with an external toolchain some additional configuration must
be set in the build environments local.conf. The 'meta-sourcery' layer must also
be setup in your bblayers.conf

First configure the use of an external toolchain, including the location to the
toolchain (this example is for a microblazeel toolchain, ensure that you insert
the relevant information for your target machine and target toolchain):

	TCMODE = "external-csl"
	CSL_TARGET_SYS_<machine name> = "microblazeel-xilinx-linux-gnu"
	EXTERNAL_TOOLCHAIN = "<path to toolchain>/microblazeel-xilinx-linux-gnu"
	EXTERNAL_TOOLCHAIN_SYSROOT = "<path to toolchain>/microblazeel-xilinx-linux-gnu/microblazeel-xilinx-linux-gnu/libc"
	INSANE_SKIP_external-sourcery-toolchain-dev += "ldflags"

Additionally the preferred provider for various packages must be configured to
use the external toolchain:

	PREFERRED_PROVIDER_linux-libc-headers = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_linux-libc-headers-dev = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_libgcc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_eglibc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/libc = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/libintl = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/libiconv = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_glibc-thread-db = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_virtual/linux-libc-headers-dev = "external-sourcery-toolchain"
	PREFERRED_PROVIDER_gdbserver = "external-sourcery-toolchain"

About

Xilinx device and board support for Yocto/OE-core.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • BlitzBasic 67.4%
  • C 32.6%