Skip to content

Why use meta exotic

Peter Saunderson edited this page Jul 27, 2016 · 2 revisions

Home / parallella-yoctobuild / meta-exotic / Design Guide / Introduction / Why use meta-exotic

Introduction Basic Target Idea

With the parent project it is now possible to start with an HDL design, create the necessary Linux Kernel drivers and create a Linux distribution that includes this design that can be loaded onto the Parallella board either via a web based update (using Smart) or by creating an SD card. The design may require changes to the oh (Open Hardware) design and associated changes kernel modules and to the Epiphany SDK that is used to drive the communication with the 16 core Epiphany processor. It is useful to be able to "track" the latest changes in oh and libraries (epiphany-libs).

All of this is possible if you build each piece separately and then integrate. For example it is possible to clone epiphany-libs onto the parallella board and build the SDK libraries on the target. Then with the latest epiphany-libs you can build on the target the application code that uses the new features. It is also possible to use the official binaries for the Epiphany SDK that include the arm cross compiler for the Epiphany processor on the target (available from http://downloads.parallella.org/esdk/esdk.2016.3.1_linux_armv7l.tar.gz) or on the build machine.

However this is a rapidly moving project being developed by a small team so not everything is always available. For example at the time of writing the build machine (x86_64) version of the binaries (esdk.2016.3.1_linux_x86_64.tar.gz) are not available and the official fpga bit bin release does not include the hdmi modules required to drive the hdmi interface and the necessary kernel drivers are not available in parallella-linux kernel. Also as mentioned it is possible that the binaries are out of date and the design requires changes to the Epiphany SDK that are not yet available in the official releases. So it is also possible to use Yocto to build all the software components and use the Smart package manager to update the code on the target. It is possible to use the power of your build machine to build all the Epiphany related components and then test on the target.

With the help of the great work done by Yocto and the meta-exotic and meta-epiphany layers building the Epiphany SDK from source this project has been able to keep up to date with the latest kernel and oh modifications and offer the capability of a complete working system including hdmi video and sound not available with the official releases. The meta-exotic layer mearly pulls out what I think is likely to be generic so that it is possible to reuse this for any secondary, microcontroller or other foreign processor that is hosted on the Yocto target machine.

Now I wonder.... if it is possible to build the oh fpga from a single Makefile.... and Yocto can co-ordinate the build of a Linux distribution using Makefiles etc... then...

But I digress... Click on the following link to learn a bit more about how the meta-exotic layer works:

Introduction Basic Target Idea

Clone this wiki locally