Linux Device Drivers Development
- Length: 543 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2017-12-06
- ISBN-10: 1785280007
- ISBN-13: 9781785280009
- Sales Rank: #77325 (See Top 100 Books)
Key Features
- Learn to develop customized Linux device drivers
- Learn core concepts of device drivers such as memory management, kernel caching and so on.
- Practical experience on embedded side of Linux
Book Description
Linux 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 the devices throughout the world. Device drivers play a critical role in the context of 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 your own device drivers is also increasing steadily.
This book will initially cover a chapter which will help you understand the basics of driver development and help you get started with device drivers and its development environment. This book will cover modules based on various Linux subsystems such as memory management, RTC, IIO, Clock Framework and so on. The book will also cover practical approach on Direct memory access, Kernel memory management, and kernel caching systems as well.
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
What you will learn
- Use kernel facilities to develop powerful drivers
- Develop drivers for widely used I2C and SPI buses and use regmap API
- Write and support devicetree from within your drivers
- Program advanced drivers for network and frame buffer devices
- Enhance your skills with Clock and PWM frameworks
- Develop measurement system drivers with IIO framework
- Get the best from memory management and DMA subsystem
- Access and manage GPIO subsystem and develop GPIO controller drivers
Table of Contents
Chapter 1. Introduction To Kernel Development
Chapter 2. Device Driver Basis
Chapter 3. Kernel Facilities And Helper Functions
Chapter 4. Character Device Drivers
Chapter 5. Platform Device Drivers
Chapter 6. The Concept Of Device Tree
Chapter 7. I2C Client Drivers
Chapter 8. Spi Device Drivers
Chapter 9. Regmap Api – A Register Map Abstraction
Chapter 10. Iio Framework
Chapter 11. Kernel Memory Management
Chapter 12. Dma – Direct Memory Access
Chapter 13. Linux Device Model
Chapter 14. Pin Control And Gpio Subsystem
Chapter 15. Gpio Controller Drivers – Gpio_Chip
Chapter 16. Advanced Irq Management
Chapter 17. Input Devices Drivers
Chapter 18. Rtc Drivers
Chapter 19. Pwm Drivers
Chapter 20. Regulator Framework
Chapter 21. Framebuffer Drivers
Chapter 22. Network Interface Card Drivers