Nothing but Embedded systems

LABCSMART is a french company made of skilled and experienced embedded Linux, kernel and Android engineers. Based on their experiences, our engineers were able to summarize their knowledge through several books dealing with the development of device drivers for embedded Linux systems. These books are the followings:

Linux Device Drivers Development: Everything you need to start with device driver development for Linux kernel and embedded Linux, 2nd Edition

Published in April 2022, this is a 706 pages and 17 chapters book, which introduce you to the Linux device driver development world.

Table of content

  • Introduction to Kernel Development
  • Understanding Linux Kernel Module Basic Concepts
  • Dealing with Kernel Core Helpers
  • Writing Character Device Drivers
  • Understanding and Leveraging the Device Tree
  • Introduction to Devices, Drivers, and Platform Abstraction
  • Understanding the Concept of Platform Devices and Drivers
  • Writing I2C and SPI Device Drivers
  • Understanding the Linux Kernel Memory Allocation
  • Implementing Direct Memory Access (DMA) Support
  • Abstracting Memory Access – Introduction to the Regmap API: a Register Map Abstraction
  • Demystifying the Kernel IRQ Framework
  • Digging into the IIO Framework
  • Getting the Most Out of the Pin Controller and GPIO Subsystems
  • Leveraging the Linux Kernel Input Subsystem

Mastering Linux Device Driver Development: Write custom device drivers to support computer peripherals in Linux operating systems

Published in January 2021, this 646 pages and 14 chapters book demystifies some complex Linux kernel subsystems such as ALSA for SoC and V4L2. Moreover, it address power management requirements in device drivers.

What you will learn

  • Explore and adopt Linux kernel helpers for locking, work deferral, and interrupt management
  • Understand the Regmap subsystem to manage memory accesses and work with the IRQ subsystem
  • Get to grips with the PCI subsystem and write reliable drivers for PCI devices
  • Write full multimedia device drivers using ALSA SoC and the V4L2 frameworks
  • Build power-aware device drivers using the kernel power management framework
  • Find out how to get the most out of miscellaneous kernel subsystems such as NVMEM and Watchdog
  • Analyse OOPs and use ftrace and objdump to debug the Linux kernel