Sold by Mighty Ape
Develop Linux device drivers from scratch, with hands-on guidance focused on embedded systems, covering key subsystems like I2C, SPI, GPIO, IRQ, and DMA for real-world hardware integration using kernel 4.13
Key Features
Develop custom drivers for I2C, SPI, GPIO, RTC, and input devices using modern Linux kernel APIs
Learn memory management, IRQ handling, DMA, and the device tree through hands on examples
Explore embedded driver development with platform drivers, regmap, and IIO frameworks
Book DescriptionLinux 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).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
Who this book is forThis book is ideal for embedded systems developers, engineers, and Linux enthusiasts who want to learn how to write device drivers from scratch. Whether you’re new to kernel development or looking to deepen your understanding of subsystems like I2C, SPI, and IRQs, this book provides practical, real-world instructions tailored for working with embedded Linux platforms. Foundational knowledge of C and basic Linux concepts is recommended.
Author Biography
John Madieu is an embedded Linux and kernel engineer living in Paris, France. His main activities consist of developing device drivers and Board Support Packages (BSPs) for companies in domains such as IoT, automation, transport, healthcare, energy, and the military. John is the founder and chief consultant at LABCSMART, a company that provides training and services for embedded Linux and Linux kernel engineering. He is an open source and embedded systems enthusiast, convinced that it is only by sharing knowledge that we can learn more. He is passionate about boxing, which he practiced for 6 years professionally, and continues to channel this passion through training sessions that he provides voluntarily.
We are committed to protecting your rights under the Consumer Guarantees Act and working with our suppliers to assist with warranty claims. Products sold by Mighty Ape will be covered by a Manufacturer's Warranty for at least a one-year period from the date of purchase.
Your warranty will cover any manufacturing defects which, if existing, will present themselves within this warranty period.
Your warranty will not cover normal wear and tear, faults caused by misuse, and accidents which cause damage or theft caused after delivery. Using the product in a way it is not designed for will void your warranty.
Please refer to our Help Centre for more information.