Book Image

Embedded Linux Development using Yocto Projects - Second Edition

By : Otavio Salvador, Daiane Angolini
Book Image

Embedded Linux Development using Yocto Projects - Second Edition

By: Otavio Salvador, Daiane Angolini

Overview of this book

Yocto Project is turning out to be the best integration framework for creating reliable embedded Linux projects. It has the edge over other frameworks because of its features such as less development time and improved reliability and robustness. Embedded Linux Development using Yocto Project starts with an in-depth explanation of all Yocto Project tools, to help you perform different Linux-based tasks. The book then moves on to in-depth explanations of Poky and BitBake. It also includes some practical use cases for building a Linux subsystem project using Yocto Project tools available for embedded Linux. The book also covers topics such as SDK, recipetool, and others. By the end of the book, you will have learned how to generate and run an image for real hardware boards and will have gained hands-on experience at building efficient Linux systems using Yocto Project.
Table of Contents (22 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
Diving into BitBake Metadata
Index

Deciphering the software development kit


A software development kit (SDK) is a set of tools and files used to develop and debug. These tools include compilers, linkers, debuggers, external library headers, and binaries, and may include custom utilities and applications. This set of programming tools is called a toolchain.

In embedded development, the toolchain is often composed of cross-platform tools or tools executed on one architecture that then produces a binary for use in another architecture. For example, a gcc binary that runs on an x86-64-compatible machine and produces one binary for an ARM machine is a cross-compiler. When the tool and resultant binary are executed on the same architecture, it is called a native build.

Usually, when we work on custom source code and use external libraries, for example, libusb or libgl, these libraries are used to build at runtime. The custom source may be built against the library header files, and the binary may be moved somewhere during the execution...