Yocto Project - Embedded systems easier and faster
Embedded Linux developers often have to create their own distribution to precisely define the contents of the operating system.
Those who nowadays choose embedded Linux for a project have several alternatives, one of which is the Yocto Project. Yocto is not an embedded Linux distribution but a development environment with which one can quickly and easily create custom versions.
The Yocto Project is used to compile the operating system and possible applications. Hardware manufacturers, open-source developers, and electronics companies contribute templates, tools, and methods to the Yocto Project that help evelopers in their work.
The Yocto Project can be used to manage the compilation of the operating system and of programs for different device architectures. This also enables the testing of many system components with a PC to provide an environment that corresponds as well as possible to the embedded device.
The Yocto Project saves time and resources that would otherwise be wasted on compiling, re-configuring and maintenance.
Distributions compatible with Yocto are very flexible. Parts and components can be easily combined or replaced by others. Yocto’s compiling mechanism checks the dependencies indicated in a component’s recipe and, if necessary, adds missing components.
As a result, the products are more compatible irrespective of the hardware environment. The components also work better together, and software compilation becomes easier. And maintenance costs drop.
Use of the Yocto Project began with network devices, but it has also been used in industrial automation, medical device development, and space and defense projects, for example. It is beneficial for project owners that the Yocto Project is not tied to a single device manufacturer.
When a Linux-based device is needed, the Yocto Project significantly speeds up the creation of a Linux platform because the chip manufacturers and the open-source package vendors produce parts that are compatible with the Yocto Project build system.
In any case, one has to make one’s own distribution, but there’s no need to start from scratch. The Yocto Project offers a range of ready features and parts that can be combined. Customization is of course still necessary since the hardware is always different.
One of the Yocto Projects advantages is its layered structure. This makes it easy to reuse components on different systems. The layered structure makes it possible to change any part of a distribution without having to worry about the other parts.
If the processor is changed, for example, only the layer connected with processor support is changed. This enables compiling the operating system quickly for the new processor or for a device that uses the new processor.
The Yocto Project is coordinated by the Linux Foundation. Anybody can create layers and make them available to other users.
With the help of the Yocto Project, Espotel’s product development of embedded systems is simpler, faster, and easier. If the Yocto Project becomes the de facto standard, it will make the work of developers much easier. One can already get far simply by using the Yocto Project expertise. In the past, there were several systems, and developers were forced to constantly learn new things.
For more information, see www.yoctoproject.org
About the authors
Mikko Elomaa is Chief SW architect and ARM mbed specialist at Espotel. Mikko holds an M.Sc. and a PhD in Automation from the Aalto university. Prior to joining Espotel Mikko worked as a researcher in the Automation technology lab at Aalto University and as an exchange researcher in CEA-Leti in Grenoble, France.
Mikko can be reached at email@example.com
Vesa Norrbacka is a SW design engineer at Espotel.
Vesa holds a B.Eng. in Information Technology from Metropolia UAS. Before joining Espotel Vesa worked as a technical instructor and Linux server admin designing custom embedded systems on the side.