English | 2019 | ISBN: 1838558802 | 356 pages | True Retail (EPUB) | 7.81 MB
Over 30 recipes to develop custom drivers for your embedded Linux applications.
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
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.
What you will 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
Who this book is for
This book will help anyone who wants to develop their own Linux device drivers for embedded systems. Having basic hand-on with Linux operating system and embedded concepts is necessary.
Table of Contents
Installing the developing system
A Peek Inside the Kernel
Working with Char drivers
Using the Device Tree
Managing Interrupts and Concurrency
Miscellaneous Kernel Internals
Advanced Char Driver Operations
(Appendix A): Additional Information on Working with Char Drivers
(Appendix B): Additional Information on using the Device Tree
(Appendix C): Additional Information on managing Interrupts and Concurrency on
(Appendix D): Additional Information on miscellaneous Kernel Internals
(Appendix E): Additional Information on advanced Char Driver Operations