Embedded Linux Systems with the Yocto Project

Author: Rudolf J. Streif
Publisher: Prentice Hall
ISBN: 0133443280
Format: PDF, ePub, Docs
Download Now
Build Complete Embedded Linux Systems Quickly and Reliably Developers are increasingly integrating Linux into their embedded systems: It supports virtually all hardware architectures and many peripherals, scales well, offers full source code, and requires no royalties. The Yocto Project makes it much easier to customize Linux for embedded systems. If you’re a developer with working knowledge of Linux, Embedded Linux Systems with the Yocto Project™ will help you make the most of it. An indispensable companion to the official documentation, this guide starts by offering a solid grounding in the embedded Linux landscape and the challenges of creating custom distributions for embedded systems. You’ll master the Yocto Project’s toolbox hands-on, by working through the entire development lifecycle with a variety of real-life examples that you can incorporate into your own projects. Author Rudolf Streif offers deep insight into Yocto Project’s build system and engine, and addresses advanced topics ranging from board support to compliance management. You’ll learn how to Overcome key challenges of creating custom embedded distributions Jumpstart and iterate OS stack builds with the OpenEmbedded Build System Master build workflow, architecture, and the BitBake Build Engine Quickly troubleshoot build problems Customize new distros with built-in blueprints or from scratch Use BitBake recipes to create new software packages Build kernels, set configurations, and apply patches Support diverse CPU architectures and systems Create Board Support Packages (BSP) for hardware-specific adaptations Provide Application Development Toolkits (ADT) for round-trip development Remotely run and debug applications on actual hardware targets Ensure open-source license compliance Scale team-based projects with Toaster, Build History, Source Mirrors, and Autobuilder

Embedded Linux Primer

Author: Christopher Hallinan
Publisher: Pearson Education
ISBN: 9780137061105
Format: PDF, ePub
Download Now
Up-to-the-Minute, Complete Guidance for Developing Embedded Solutions with Linux Linux has emerged as today’s #1 operating system for embedded products. Christopher Hallinan’s Embedded Linux Primer has proven itself as the definitive real-world guide to building efficient, high-value, embedded systems with Linux. Now, Hallinan has thoroughly updated this highly praised book for the newest Linux kernels, capabilities, tools, and hardware support, including advanced multicore processors. Drawing on more than a decade of embedded Linux experience, Hallinan helps you rapidly climb the learning curve, whether you’re moving from legacy environments or you’re new to embedded programming. Hallinan addresses today’s most important development challenges and demonstrates how to solve the problems you’re most likely to encounter. You’ll learn how to build a modern, efficient embedded Linux development environment, and then utilize it as productively as possible. Hallinan offers up-to-date guidance on everything from kernel configuration and initialization to bootloaders, device drivers to file systems, and BusyBox utilities to real-time configuration and system analysis. This edition adds entirely new chapters on UDEV, USB, and open source build systems. Tour the typical embedded system and development environment and understand its concepts and components. Understand the Linux kernel and userspace initialization processes. Preview bootloaders, with specific emphasis on U-Boot. Configure the Memory Technology Devices (MTD) subsystem to interface with flash (and other) memory devices. Make the most of BusyBox and latest open source development tools. Learn from expanded and updated coverage of kernel debugging. Build and analyze real-time systems with Linux. Learn to configure device files and driver loading with UDEV. Walk through detailed coverage of the USB subsystem. Introduces the latest open source embedded Linux build systems. Reference appendices include U-Boot and BusyBox commands.

Embedded Linux Development with Yocto Project

Author: Otavio Salvador
Publisher: Packt Publishing Ltd
ISBN: 1783282347
Format: PDF, Kindle
Download Now
A practical tutorial guide which introduces you to the basics of Yocto Project, and also helps you with its real hardware use to boost your Embedded Linux-based project. If you are an embedded systems enthusiast and willing to learn about compelling features offered by the Yocto Project, then this book is for you. With prior experience in the embedded Linux domain, you can make the most of this book to efficiently create custom Linux-based systems.

Mastering Embedded Linux Programming

Author: Chris Simmonds
Publisher: Packt Publishing Ltd
ISBN: 1787288854
Format: PDF, ePub
Download Now
Master the techniques needed to build great, efficient embedded devices on Linux About This Book Discover how to build and configure reliable embedded Linux devices This book has been updated to include Linux 4.9 and Yocto Project 2.2 (Morty) This comprehensive guide covers the remote update of devices in the field and power management Who This Book Is For If you are an engineer who wishes to understand and use Linux in embedded devices, this book is for you. It is also for Linux developers and system programmers who are familiar with embedded systems and want to learn and program the best in class devices. It is appropriate for students studying embedded techniques, for developers implementing embedded Linux devices, and engineers supporting existing Linux devices. What You Will Learn Evaluate the Board Support Packages offered by most manufacturers of a system on chip or embedded module Use Buildroot and the Yocto Project to create embedded Linux systems quickly and efficiently Update IoT devices in the field without compromising security Reduce the power budget of devices to make batteries last longer Interact with the hardware without having to write kernel device drivers Debug devices remotely using GDB, and see how to measure the performance of the systems using powerful tools such as perk, ftrace, and valgrind Find out how to configure Linux as a real-time operating system In Detail Embedded Linux runs many of the devices we use every day, from smart TVs to WiFi routers, test equipment to industrial controllers - all of them have Linux at their heart. Linux is a core technology in the implementation of the inter-connected world of the Internet of Things. The comprehensive guide shows you the technologies and techniques required to build Linux into embedded systems. You will begin by learning about the fundamental elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the root filesystem. You'll see how to create each of these elements from scratch, and how to automate the process using Buildroot and the Yocto Project. Moving on, you'll find out how to implement an effective storage strategy for flash memory chips, and how to install updates to the device remotely once it is deployed. You'll also get to know the key aspects of writing code for embedded Linux, such as how to access hardware from applications, the implications of writing multi-threaded code, and techniques to manage memory in an efficient way. The final chapters show you how to debug your code, both in applications and in the Linux kernel, and how to profile the system so that you can look out for performance bottlenecks. By the end of the book, you will have a complete overview of the steps required to create a successful embedded Linux system. Style and approach This book is an easy-to-follow and pragmatic guide with in-depth analysis of the implementation of embedded devices. It follows the life cycle of a project from inception through to completion, at each stage giving both the theory that underlies the topic and practical step-by-step walkthroughs of an example implementation.

Embedded Linux Development Using Yocto Project Cookbook

Author: Alex González
Publisher: Packt Publishing Ltd
ISBN: 1788392922
Format: PDF, Mobi
Download Now
Over 79 hands-on recipes for professional embedded Linux developers to optimize and boost their Yocto Project know-how Key Features Optimize your Yocto setup to speed up development and debug build issues Use what is quickly becoming the standard embedded Linux product builder framework—the Yocto Project Recipe-based implementation of best practices to optimize your Linux system Book Description The Yocto Project has become the de facto distribution build framework for reliable and robust embedded systems with a reduced time to market. You'll get started by working on a build system where you set up Yocto, create a build directory, and learn how to debug it. Then, you'll explore everything about the BSP layer, from creating a custom layer to debugging device tree issues. In addition to this, you’ll learn how to add a new software layer, packages, data, scripts, and configuration files to your system. You will then cover topics based on application development, such as using the Software Development Kit and how to use the Yocto project in various development environments. Toward the end, you will learn how to debug, trace, and profile a running system. This second edition has been updated to include new content based on the latest Yocto release. What you will learn Optimize your Yocto Project setup to speed up development and debug build issues Use Docker containers to build Yocto Project-based systems Take advantage of the user-friendly Toaster web interface to the Yocto Project build system Build and debug the Linux kernel and its device trees Customize your root filesystem with already-supported and new Yocto packages Optimize your production systems by reducing the size of both the Linux kernel and root filesystems Explore the mechanisms to increase the root filesystem security Understand the open source licensing requirements and how to comply with them when cohabiting with proprietary programs Create recipes, and build and run applications in C, C++, Python, Node.js, and Java Who this book is for If you are an embedded Linux developer with the basic knowledge of Yocto Project, this book is an ideal way to broaden your knowledge with recipes for embedded development.

Linux Device Drivers Development

Author: John Madieu
Publisher: Packt Publishing Ltd
ISBN: 1782174753
Format: PDF, Docs
Download Now
Learn to develop customized device drivers for your embedded Linux system About This Book Learn to develop customized Linux device drivers Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on. Practical experience on the embedded side of Linux Who This Book Is For This book will help anyone who wants to get started with developing their own Linux device drivers for embedded systems. Embedded Linux users will benefit highly from this book. This book covers all about device driver development, from char drivers to network device drivers to memory management. What You Will Learn Use kernel facilities to develop powerful drivers Develop drivers for widely used I2C and SPI devices and use the regmap API Write and support devicetree from within your drivers Program advanced drivers for network and frame buffer devices Delve into the Linux irqdomain API and write interrupt controller drivers Enhance your skills with regulator and PWM frameworks Develop measurement system drivers with IIO framework Get the best from memory management and the DMA subsystem Access and manage GPIO subsystems and develop GPIO controller drivers In Detail Linux kernel is a complex, portable, modular and widely used piece of software, running on around 80% of servers and embedded systems in more than half of devices throughout the World. Device drivers play a critical role in how well a Linux system performs. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers is also increasing steadily. This book will initially help you understand the basics of drivers as well as prepare for the long journey through the Linux Kernel. This book then covers drivers development based on various Linux subsystems such as memory management, PWM, RTC, IIO, IRQ management, and so on. The book also offers a practical approach on direct memory access and network device drivers. By the end of this book, you will be comfortable with the concept of device driver development and will be in a position to write any device driver from scratch using the latest kernel version (v4.13 at the time of writing this book). Style and approach A set of engaging examples to develop Linux device drivers

Learning Embedded Linux Using the Yocto Project

Author: Alexandru Vaduva
Publisher: Packt Publishing Ltd
ISBN: 1784395196
Format: PDF, Kindle
Download Now
This book offers readers an idea of what embedded Linux software and hardware architecture looks like, cross-compiling, and also presents information about the bootloader and how it can be built for a specific board. This book will go through Linux kernel features and source code, present information on how to build a kernel source, modules, and the Linux root filesystem. You'll be given an overview of the available Yocto Project components, how to set up Yocto Project Eclipse IDE, and how to use tools such as Wic and Swabber that are still under development. It will present the meta-realtime layer and the newly created meta-cgl layer, its purpose, and how it can add value to poky.

Yocto for Raspberry Pi

Author: Pierre-Jean Texier
Publisher: Packt Publishing Ltd
ISBN: 1785288059
Format: PDF, ePub, Docs
Download Now
Create unique and amazing projects by using the powerful combination of Yocto and Raspberry Pi About This Book Set up and configure the Yocto Project efficiently with Raspberry Pi Deploy multimedia applications from existing Yocto/OE layers An easy-to-follow guide to utilize your custom recipes on your Raspberry Pi Who This Book Is For If you are a student or a developer of embedded software, embedded Linux engineer or embedded systems in competence with Raspberry Pi and want to discover the Yocto Project, then this book is for you. Experience with Yocto is not needed. What You Will Learn Explore the basic concept of Yocto's build system and how it is organized in order to use it efficiently with Raspberry Pi Generate your first image with Yocto for the Raspberry Pi Understand how to customize your Linux kernel within the Yocto Project Customize your image in order to integrate your own applications Write your own recipes for your graphical applications Integrate a custom layer for the Raspberry Pi In Detail The Yocto Project is a Linux Foundation workgroup, which produces tools (SDK) and processes (configuration, compilation, installation) that will enable the creation of Linux distributions for embedded software, independent of the architecture of embedded software (Raspberry Pi, i.MX6, and so on). It is a powerful build system that allows you to master your personal or professional development. This book presents you with the configuration of the Yocto Framework for the Raspberry Pi, allowing you to create amazing and innovative projects using the Yocto/OpenEmbedded eco-system. It starts with the basic introduction of Yocto's build system, and takes you through the setup and deployment steps for Yocto. It then helps you to develop an understanding of Bitbake (the task scheduler), and learn how to create a basic recipe through a GPIO application example. You can then explore the different types of Yocto recipe elements (LICENSE, FILES, SRC_URI, and so on). Next, you will learn how to customize existing recipes in Yocto/OE layers and add layers to your custom environment (qt5 for example). Style and approach A step by step guide covering the fundamentals to create amazing new projects with Raspberry Pi and Yocto.

Essential Linux Device Drivers

Author: Sreekrishnan Venkateswaran
Publisher: Prentice Hall
ISBN: 9780132715812
Format: PDF
Download Now
“Probably the most wide ranging and complete Linux device driver book I’ve read.” --Alan Cox, Linux Guru and Key Kernel Developer “Very comprehensive and detailed, covering almost every single Linux device driver type.” --Theodore Ts’o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux Foundation The Most Practical Guide to Writing Linux Device Drivers Linux now offers an exceptionally robust environment for driver development: with today’s kernels, what once required years of development time can be accomplished in days. In this practical, example-driven book, one of the world’s most experienced Linux driver developers systematically demonstrates how to develop reliable Linux drivers for virtually any device. Essential Linux Device Drivers is for any programmer with a working knowledge of operating systems and C, including programmers who have never written drivers before. Sreekrishnan Venkateswaran focuses on the essentials, bringing together all the concepts and techniques you need, while avoiding topics that only matter in highly specialized situations. Venkateswaran begins by reviewing the Linux 2.6 kernel capabilities that are most relevant to driver developers. He introduces simple device classes; then turns to serial buses such as I2C and SPI; external buses such as PCMCIA, PCI, and USB; video, audio, block, network, and wireless device drivers; user-space drivers; and drivers for embedded Linux–one of today’s fastest growing areas of Linux development. For each, Venkateswaran explains the technology, inspects relevant kernel source files, and walks through developing a complete example. • Addresses drivers discussed in no other book, including drivers for I2C, video, sound, PCMCIA, and different types of flash memory • Demystifies essential kernel services and facilities, including kernel threads and helper interfaces • Teaches polling, asynchronous notification, and I/O control • Introduces the Inter-Integrated Circuit Protocol for embedded Linux drivers • Covers multimedia device drivers using the Linux-Video subsystem and Linux-Audio framework • Shows how Linux implements support for wireless technologies such as Bluetooth, Infrared, WiFi, and cellular networking • Describes the entire driver development lifecycle, through debugging and maintenance • Includes reference appendixes covering Linux assembly, BIOS calls, and Seq files

Samsung ARTIK Reference

Author: Cliff Wootton
Publisher: Apress
ISBN: 1484223225
Format: PDF, ePub
Download Now
Provides a professional-level reference to the Samsung ARTIK API, as well as to other aspects of interest to developers such as the file systems, the operating system internals, various available interfaces, input/output, and the hardware itself. This is the perfect book for experienced programmers and developers who want to jump in and work with Samsung's new ARTIK product line to create Internet of Things devices and applications. It is also a perfect follow-up resource for new-to-the-field developers who are just getting past the beginning stages of learning the ARTIK. Samsung ARTIK Reference begins with a concise overview of the hardware and the various developer reference boards that are available. Attention then shifts to operating system internals, modes such as sleep and startup, and the various file systems and their parameters that are available for developers to adjust. Also included is a reference of API calls, guidance on input and output, documentation of serial, audio, graphic, and other interfaces. There is extensive reference to online resources with annotation and commentary guiding the learning process in many directions for further study. What You Will Learn Install the ARTIK toolkit and prepare to develop Manipulate the inner workings of the ARTIK operating system Look up and refer to details of the ARTIK API specification Perform input and output over the peripheral interface buses Build embeddable applications in support of IoT devices Embed the ARTIK modules into your own hardware products Who This Book Is For Samsung ARTIK Reference is for experienced developers wanting to understand and begin working with ARTIK. The book is especially of interest to those wishing to interact with ARTIK modules from within their own applications and web services.