Book description
Learn to develop customized device drivers for your embedded Linux system
About This Book
- Learn to develop customized Linux device drivers
- Learn the core concepts of device drivers such as memory management, kernel caching, advanced IRQ management, and so on.
- Practical experience on the embedded side of Linux
Who This Book Is For
This book will help anyone who wants to get started with developing their own Linux device drivers for embedded systems. Embedded Linux users will benefit highly from this book.
This book covers all about device driver development, from char drivers to network device drivers to memory management.
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
In Detail
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 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).
Style and approach
A set of engaging examples to develop Linux device drivers
Table of contents
- Title Page
- Copyright
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Dedication
- Preface
- Introduction to Kernel Development
- Device Driver Basis
- Kernel Facilities and Helper Functions
-
Character Device Drivers
- The concept behind major and minor
- Introduction to device file operations
- Allocating and registering a character device
- Writing file operations
- Summary
- Platform Device Drivers
- The Concept of a Device Tree
- I2C Client Drivers
- SPI Device Drivers
- Regmap API - A Register Map Abstraction
- IIO Framework
- Kernel Memory Management
- DMA - Direct Memory Access
- The Linux Device Model
- Pin Control and GPIO Subsystem
- GPIO Controller Drivers - gpio_chip
- Advanced IRQ Management
- Input Devices Drivers
- RTC Drivers
- PWM Drivers
- Regulator Framework
- Framebuffer Drivers
- Network Interface Card Drivers
Product information
- Title: Linux Device Drivers Development
- Author(s):
- Release date: October 2017
- Publisher(s): Packt Publishing
- ISBN: 9781785280009
You might also like
book
Mastering Linux Device Driver Development
Master the art of developing customized device drivers for your embedded Linux systems Key Features Stay …
book
Linux Device Driver Development - Second Edition
Get up to speed with the most important concepts in driver development and focus on common …
book
Linux Device Drivers, Second Edition
This book is for anyone who wants to support computer peripherals under the Linux operating system …
book
Linux Device Drivers, 3rd Edition
Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and …