Mastering Embedded Linux Development
Packt Publishing Limited (Verlag)
978-1-80323-259-1 (ISBN)
Key Features
Learn how to develop and configure robust embedded Linux devices
Explore the new features of Linux 6.6 and the Yocto Project 5.0 (Scarthgap)
Discover different ways to debug and profile your code in both user space and the Linux kernel
Book DescriptionMastering Embedded Linux Development' is designed to be both a learning resource and a reference for your embedded Linux projects.
The book starts by breaking down the fundamental elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the root filesystem. First, you will download and install a pre-built toolchain. After that, you will cross-compile each of the remaining three elements from scratch and learn to automate the process using Buildroot and the Yocto Project. The book progresses with coverage of over-the-air software updates and rapid prototyping with add-on boards. Two new chapters tackle modern development practices including Python packaging and deploying containerized applications. These are followed by a chapter on writing multithreaded code and another on techniques to manage memory in an efficient way. The final chapters demonstrate how to debug your code, whether it resides in user space or in the Linux kernel itself. In addition to GDB, the book also covers the different tracers and profilers that are available for Linux so that you can quickly pinpoint any performance bottlenecks in your system.
By the end of this book, you will be able to create efficient and secure embedded devices with Linux that will delight your users.What you will learn
Cross-compile embedded Linux images with Buildroot and Yocto
Enable Wi-Fi and Bluetooth connectivity with a Yocto board support package
Update IoT devices securely in the field with Mender or SWUpdate
Prototype peripheral additions by connecting add-on boards, reading schematics, and coding test programs
Deploy containerized software applications on edge devices with Docker
Debug devices remotely using GDB and measure the performance of systems using tools like perf and bpftrace
Who this book is forIf you are a systems software engineer or system administrator who wants to learn how to apply Linux to embedded devices, then this book is for you. The book is also aimed at embedded software engineers accustomed to programming low-power microcontrollers and will help them make the leap to high-speed system on a chips that can run Linux. Anyone who develops hardware for Linux will find something useful in this book. But before you get started, you will need a solid grasp of the POSIX standard, C programming, and shell scripting.
Frank Vasquez is an independent software consultant specializing in consumer electronics. He has over a decade of experience designing and building embedded Linux systems. During that time, he has shipped numerous devices including a rackmount DSP audio server, a diver-held sonar camcorder, and a consumer IoT hotspot. Before his career as an embedded Linux engineer, Frank was a database kernel developer at IBM where he worked on DB2. He lives in Silicon Valley. Chris Simmonds is a software consultant and trainer living in southern England. He has almost two decades of experience in designing and building open-source embedded systems. He is the founder and chief consultant at 2net Ltd, which provides professional training and mentoring services in embedded Linux, Linux device drivers, and Android platform development. He has trained engineers at many of the biggest companies in the embedded world, including ARM, Qualcomm, Intel, Ericsson, and General Dynamics. He is a frequent presenter at open source and embedded conferences, including the Embedded Linux Conference and Embedded World.
Table of Contents
Starting Out
Learning about Toolchains
All about Bootloaders
Configuring and Building the Kernel
Building a Root Filesystem
Selecting a Build System
Developing with Yocto
Yocto Under the Hood
Creating a Storage Strategy
Updating Software in the Field
Interfacing with Device Drivers
Prototyping with Add-On Boards
Starting Up The init Program
Managing Power
Packaging Python
Deploying Container Images
Learning About Processes and Threads
Managing Memory
Debugging with GDB
Profiling and Tracing
Real-Time Programming
Erscheinungsdatum | 06.11.2024 |
---|---|
Verlagsort | Birmingham |
Sprache | englisch |
Maße | 191 x 235 mm |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
Mathematik / Informatik ► Informatik ► Netzwerke | |
ISBN-10 | 1-80323-259-5 / 1803232595 |
ISBN-13 | 978-1-80323-259-1 / 9781803232591 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich