Linux Device Driver Development Cookbook

More Information
Learn
  • Become familiar with the latest kernel releases (4.19+/5.x) running on the ESPRESSObin devkit, an ARM 64-bit machine
  • Download, configure, modify, and build kernel sources
  • Add and remove a device driver or a module from the kernel
  • Master kernel programming
  • Understand how to implement character drivers to manage different kinds of computer peripherals
  • Become well versed with kernel helper functions and objects that can be used to build kernel applications
  • Acquire a knowledge of in-depth concepts to manage custom hardware with Linux from both the kernel and user space
About

Linux is a unified kernel that is widely used to develop embedded systems. As Linux has turned out to be one of the most popular operating systems used, the interest in developing proprietary device drivers has also increased. Device drivers play a critical role in how the system performs and ensures that the device works in the manner intended.

By offering several examples on the development of character devices and how to use other kernel internals, such as interrupts, kernel timers, and wait queue, as well as how to manage a device tree, you will be able to add proper management for custom peripherals to your embedded system. You will begin by installing the Linux kernel and then configuring it. Once you have installed the system, you will learn to use the different kernel features and the character drivers. You will also cover interrupts in-depth and how you can manage them. Later, you will get into the kernel internals required for developing applications. Next, you will implement advanced character drivers and also become an expert in writing important Linux device drivers.

By the end of the book, you will be able to easily write a custom character driver and kernel code as per your requirements.

Features
  • Use Kernel facilities to develop powerful drivers
  • Via a practical approach, learn core concepts of developing device drivers
  • Program a custom character device to get access to kernel internals
Page Count 356
Course Length 10 hours 40 minutes
ISBN 9781838558802
Date Of Publication 30 May 2019

Authors

Rodolfo Giometti

Rodolfo Giometti is an engineer, IT specialist, GNU/Linux expert and software libre evangelist. He is the author of the books BeagleBone Essentials, BeagleBone Home Automation Blueprints and GNU/Linux Rapid Embedded Programming by Packt Publishing and maintainer of the LinuxPPS projects. He still actively contributes to the Linux source code with several patches and new device drivers for industrial applications devices.

During his 20+ years of experience, he has worked on the x86, ARM, MIPS, and PowerPC-based platforms.

Now, he is the co-chief at HCE Engineering S.r.l., where he designs new hardware and software systems for the quick prototyping in industry environment, control automation, and remote monitoring.