Linux Device Drivers Development: Develop customized drivers for embedded Linux
Paperback
Operating SystemsSystem Administration
ISBN13: 9781785280009
Publisher: Packt Pub
Published: Oct 20 2017
Pages: 586
Weight: 2.19
Height: 1.19 Width: 7.50 Depth: 9.25
Language: English
Develop Linux device drivers from scratch, with hands-on guidance focused on embedded systems, covering key subsystems like I2C, SPI, GPIO, IRQ, and DMA for real-world hardware integration using kernel 4.13
Key Features:
- Develop custom drivers for I2C, SPI, GPIO, RTC, and input devices using modern Linux kernel APIs
- Learn memory management, IRQ handling, DMA, and the device tree through hands on examples
- Explore embedded driver development with platform drivers, regmap, and IIO frameworks
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 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).
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
Who this book is for:
This book is ideal for embedded systems developers, engineers, and Linux enthusiasts who want to learn how to write device drivers from scratch. Whether you're new to kernel development or looking to deepen your understanding of subsystems like I2C, SPI, and IRQs, this book provides practical, real-world instructions tailored for working with embedded Linux platforms. Foundational knowledge of C and basic Linux concepts is recommended.
Table of Contents
- Introduction to Kernel Development
- Device Driver Basis
- Kernel Facilities and Helper Functions
- Character Device Drivers
- Platform Device Drivers
- The Concept of Device Tree
- I2C Client Drivers
- SPI Device Drivers
- Regmap API - A Register Map Abstraction
- IIO Framework
- Kernel Memory Management
- DMA - Direct Memory Access
- 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
Also in
Operating Systems
I Have an App Idea: The Essential Guide to Building an App Without Tech Skills
Spann, Amanda
Paperback
RHCSA Red Hat Enterprise Linux 10: Training and Exam Preparation Guide (EX200), Fourth Edition
Ghori, Asghar
Paperback
Microsoft Windows 11 - Tips & Tricks: Quickstudy Laminated Computer Reference Guide
Gatto, Katie
Other
Laptops for Seniors in Easy Steps, 9th Edition: Covers All Laptops with the Windows 11 2024 Update
Vandome, Nick
Paperback
Microsoft Copilot Studio Step by Step: Customizing Copilot and Creating Agents
Crosbie, Lisa
Paperback
Linux Basics for Hackers, 2nd Edition: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
RHCSA Red Hat Enterprise Linux 9: Training and Exam Preparation Guide (EX200), Third Edition
Ghori, Asghar
Paperback
The Practice of System and Network Administration: Devops and Other Best Practices for Enterprise It, Volume 1
Hogan, Christina
Chalup, Strata
Limoncelli, Thomas
Paperback
Samsung Galaxy A17 5G User Guide: A Comprehensive, Step-by-Step Manual with Practical Tips for Beginners and Seniors
Gavriel, John
Paperback
The Wireless Cookbook: Build Real Projects and Master Wi-Fi, Bluetooth, and Lora
Zimmerman, Bill
Paperback
Comptia A+ Certification All-In-One Exam Guide, Eleventh Edition (Exams 220-1101 & 220-1102)
Hutz, Andrew
Everett, Travis A.
Hardcover
Exploring Windows 11 - 2025 Edition: The Illustrated, Practical Guide to Using Microsoft Windows
Wilson, Kevin
Paperback
Windows 11 Manual For Seniors: A Beginners Guide to Navigate Your Computer with Step-by-Step Instructions
Wells, Larry
Paperback
Microsoft 365 Copilot Adoption: A Practical Guide for Business Leaders and Consultants
Smith, Megan
Smith, Mark
Paperback
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Kerrisk, Michael
Hardcover
Linux Mint Cinnamon Edition: A Complete Guide for Beginners and Advanced Users
Rodgers, David A., Jr.
Paperback
What On Earth is a Mainframe?: An Introduction to IBM Z Mainframes and z/OS Operating System for Total Beginners
Stephens, David
Paperback
Android Studio Panda Essentials - Java Edition: Developing Android Apps Using Android Studio Panda and Java
Smyth, Neil
Paperback
The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
Raymond, Eric S.
Paperback
Mac for Seniors - Sonoma Edition: The illustrated, Step-by-step guide on how to use MacOS (Large Print Edition)
Wilson, Kevin
Paperback
Linux Basics for Hackers: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Paperback
The Accidental Administrator: Cisco Router Step-by-Step Configuration Guide
Crawley, Don R.
Paperback
Effective Shell: A Practical User's Guide to Working Smarter on the Command Line
Kerr, Dave
Paperback
Master Zorin OS 18: A Complete Hands-On Guide to Linux Mastery with Zorin OS 18
Mykel, Ross
Paperback
How to Build Android Applications with Kotlin - Third Edition: A hands-on guide to developing, testing, and publishing production-grade Android 16 app
Dumbravan, Alexandru
Forrester, Alex
Boudjnah, Eran
Paperback
Windows Internals: System Architecture, Processes, Threads, Memory Management, and More, Part 1
Russinovich, Mark
Solomon, David
Yosifovich, Pavel
Paperback
Comptia A+ Complete Study Guide: Core 1 Exam 220-1101 and Core 2 Exam 220-1102
Docter, Quentin
Buhagiar, Jon
Paperback
Windows 11 Tips, Tricks & Shortcuts in Easy Steps: 1000+ Tips, Tricks and Shortcuts
Vandome, Nick
Paperback
Chatgpt: A Guide to Making Money With Chatgpt (Creative Ways for Teens and Young Adults to Make Money With Chatgpt)
Trotter, Thomas
Paperback
Mastering Embedded Linux Development - Fourth Edition: Craft fast and reliable embedded solutions with Linux 6.6 and The Yocto Project 5.0 (Scarthgap)
Simmonds, Chris
Vasquez, Frank
Paperback
MacBook Neo User Guide: Seniors and Beginners Easy to follow Manual With ILLUSTRATIONS to Master Their Device Quickly [Tips and Trips included]
Klaywood Philip, Sans
Paperback
Linux Kernel Programming - Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization
Billimoria, Kaiwan N.
Paperback
Learning the VI and VIM Editors: Power and Agility Beyond Just Text Editing
Robbins, Arnold
Hannah, Elbert
Paperback
Head First Android Development: A Learner's Guide to Building Android Apps with Kotlin
Griffiths, David
Griffiths, Dawn
Paperback
Linux: The ultimate guide to Linux for beginners, Linux hacking, Linux command line, Linux operating system, and more!
Newport, Craig
Paperback
Data Science at the Command Line: Obtain, Scrub, Explore, and Model Data with UNIX Power Tools
Janssens, Jeroen
Paperback
Learn FileMaker Pro 2024: The Comprehensive Guide to Building Custom Databases
Munro, Mark Conway
Paperback
MacBook User Guide for Seniors: An Easy-to-Follow Manual for Using Your Laptop with Confidence
Reid, Nicholas L. a.
Paperback
The Ultimate Linux Shell Scripting Guide: Automate, Optimize, and Empower tasks with Linux Shell Scripting
Tevault, Donald a.
Paperback
Hotwire Native for Rails Developers: Build Native Mobile Apps Using Your Server
Masilotti, Joe
Paperback
A Handbook for Mainframe z/OS Enterprise Architects - Architecture and Design of Large-Scale Environments
Sahoo, Natabar
Paperback
Mastering Windows Server 2022 - Fourth Edition: Comprehensive administration of your Windows Server environment
Krause, Jordan
Paperback
Linux: A Complete Guide to Learn Linux Commands, Linux Operating System and Shell Scripting Step-by-Step
Ayden, Nicholas
Paperback
UNIX in a Nutshell: A Desktop Quick Reference - Covers Gnu/Linux, Mac OS X, and Solaris
Robbins, Arnold
Paperback
Comando de Linux: Una guía completa para principiantes para aprender los reinos del comando Linux desde A-Z
Vance, William
Paperback
Embedded Systems Architecture - Second Edition: Design and write software for embedded devices to build safe and connected systems
Lacamera, Daniele
Paperback
Android and IOS Mobile Forensics: Leveraging Blockchain, Machine Learning, and Deep Learning for Digital Investigations
Parekha, Chandresh
Kaushik, Keshav
Sheth, Ravi
Paperback
Mastering Microsoft Intune - Second Edition: Deploy Windows 11, Windows 365 via Microsoft Intune, Copilot and advance management via Intune Suite
Larsen, Per
Brinkhoff, Christiaan
Paperback
Moto G Stylus 5G 2025 User Guide: A Complete Step-by-Step Manual for Beginners and Seniors
Greg, Tova
Paperback
A Beginner's Guide to Mainframe z/OS RACF - Securing Mainframe Enterprise Operating System - Book 4
Sahoo, Natabar
Paperback
Practical Linux System Administration: A Guide to Installation, Configuration, and Management
Hess, Kenneth
Paperback
Debian 13.3 "Trixie" Desktop Handbook: A Practical Guide to Installing, Securing, and Mastering the Debian Linux Desktop - From Install to Advanced Ad
Rodgers, David A., Jr.
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Hardcover
