Jump to ratings and reviews
Rate this book

Linux Driver Development for Embedded Processors: Learn to Develop Linux Embedded Drivers with Kernel 4.9 LTS

Rate this book
LINUX DRIVER DEVELOPMENT FOR EMBEDDED PROCESSORS -SECOND EDITION-



Read with the free Kindle App (available on iOs, Android, PC & Mac) on your smartphone, tablet, computer or any of the devices listed in the drop-down at the end of the following ebook description.

The flexibility of embedded Linux, the availability of powerful, energy efficient processors designed for embedded computing and the low cost of new processors are encouraging many industrial companies to come up with new developments based on embedded processors. This eBook will teach you how to develop device drivers for Device Tree embedded Linux systems.

This eBook is meant to be practical, but also provides an important theoretical base. Nearly thirty drivers are written and ported to three different processors. You can choose between the NXP i.MX7D, Microchip SAMA5D2 and Broadcom BCM2837 processors to develop and test the drivers, whose implementation is described in detail in the practical lab sections of the eBook. Before you start reading, I encourage you to acquire one of these processor boards whenever you have access to some GPIOs, and at least one SPI and I2C controller. One of the boards used to implement the drivers is the famous Raspberry PI 3 Model B board.

You will learn how to develop drivers, from the simplest ones that do not interact with any external hardware, to drivers that manage different kind of accelerometers, DACs, ADCs, RGB LEDs, Multi-Display LED controllers, I/O expanders, buttons, and USB HID devices. You will also develop DMA drivers, drivers that manage interrupts, and drivers that write/read on the internal registers of the processor to control external devices. To ease the development of some of these drivers, you will use different types of Miscellaneous framework, LED framework, UIO framework, Input framework and the IIO industrial framework. This second edition has been updated to the v4.9 LTS kernel.

Since the end of March 2019, a new chapter has been added to the text of the eBook. This Chapter 13, “Linux USB Device Drivers”. This new chapter can be downloaded from the GitHub of this eBook. In the Chapter 13, you will learn how to create a fully functional USB HID device that will send/receive data to/from a Linux USB Host device; several custom Linux USB device drivers will be developed throughout this chapter.

Since the end of November 2020, the Linux drivers included in this eBook have been adapted to run on the Raspberry Pi 4 Model B and the Raspberry Pi 3 Model B boards using Linux kernel v5.4 LTS.

Since the end of July 2020, the Linux drivers included in this eBook have been adapted to run on the ST STM32MP1 processor using the Linux kernel v5.4 LTS. The ST STM32MP1 Linux drivers are included in this eBook GitHub repository.

Since the beginning of October 2020, two new labs have been added to the labs of Chapter 11 and Chapter 7 to reinforce the concepts of creating IIO and GPIO controller drivers with INT capabilities. These new labs are included in the GitHub of the eBook.

Kindle Edition

Published December 4, 2018

1 person is currently reading
26 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (25%)
4 stars
1 (25%)
3 stars
1 (25%)
2 stars
0 (0%)
1 star
1 (25%)
No one has reviewed this book yet.

Can't find what you're looking for?

Get help and learn more about the design.