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:

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

Linux Device Drivers Development: Develop customized drivers for embedded Linux

Published in October 2017, this is a 586 pages and 22 chapters book, which introduce you to the Linux device driver development world.

What you will learn

  • Using kernel facilities
  • Develop drivers for I2C and SPI devices and use the regmap API
  • Write and support devicetree from within your drivers
  • write drivers for network and frame buffer devices
  • Delve into the Linux irqdomain API and write interrupt controller drivers
  • being familiar with the regulator and PWM frameworks
  • Develop measurement system drivers with IIO framework
  • understanding memory management and leverage the DMA subsystem
  • Access and manage GPIO subsystem and develop GPIO controller drivers