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
RHCSA Red Hat Enterprise Linux 10: Training and Exam Preparation Guide (EX200), Fourth Edition
Ghori, Asghar
Paperback
I Have an App Idea: The Essential Guide to Building an App Without Tech Skills
Spann, Amanda
Paperback
Microsoft Windows 11 - Tips & Tricks: Quickstudy Laminated Computer Reference Guide
Gatto, Katie
Other
The Practice of System and Network Administration: Devops and Other Best Practices for Enterprise It, Volume 1
Limoncelli, Thomas
Hogan, Christina
Chalup, Strata
Paperback
Laptops for Seniors in Easy Steps, 9th Edition: Covers All Laptops with the Windows 11 2024 Update
Vandome, Nick
Paperback
Linux Basics for Hackers, 2nd Edition: Getting Started with Networking, Scripting, and Security in Kali
Occupytheweb
Paperback
Microsoft Copilot Studio Step by Step: Customizing Copilot and Creating Agents
Crosbie, Lisa
Paperback
Samsung Galaxy A17 5G User Guide: A Comprehensive, Step-by-Step Manual with Practical Tips for Beginners and Seniors
Gavriel, John
Paperback
RHCSA Red Hat Enterprise Linux 9: Training and Exam Preparation Guide (EX200), Third Edition
Ghori, Asghar
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
The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
Raymond, Eric S.
Paperback
What On Earth is a Mainframe?: An Introduction to IBM Z Mainframes and z/OS Operating System for Total Beginners
Stephens, David
Paperback
The Linux Programming Interface: A Linux and Unix System Programming Handbook
Kerrisk, Michael
Hardcover
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, Mark
Smith, Megan
Paperback
Linux Mint Cinnamon Edition: A Complete Guide for Beginners and Advanced Users
Rodgers, David A., Jr.
Paperback
Mac for Seniors - Sonoma Edition: The illustrated, Step-by-step guide on how to use MacOS (Large Print Edition)
Wilson, Kevin
Paperback
Android Studio Panda Essentials - Java Edition: Developing Android Apps Using Android Studio Panda and Java
Smyth, Neil
Paperback
Master Zorin OS 18: A Complete Hands-On Guide to Linux Mastery with Zorin OS 18
Mykel, Ross
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Paperback
Cyberdeck Grimoire: A Beginner's Field Manual to Building Your Own Portable Computer: A Beginner's Field Manual to Building Your Own
Lane Publishing, Zinnia
Paperback
Windows Internals: System Architecture, Processes, Threads, Memory Management, and More, Part 1
Yosifovich, Pavel
Russinovich, Mark
Solomon, David
Paperback
The Accidental Administrator: Cisco Router Step-by-Step Configuration Guide
Crawley, Don R.
Paperback
Windows 11 Tips, Tricks & Shortcuts in Easy Steps: 1000+ Tips, Tricks and Shortcuts
Vandome, Nick
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
Comptia A+ Complete Study Guide: Core 1 Exam 220-1101 and Core 2 Exam 220-1102
Docter, Quentin
Buhagiar, Jon
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
Effective Shell: A Practical User's Guide to Working Smarter on the Command Line
Kerr, Dave
Paperback
Linux Kernel Programming - Second Edition: A comprehensive and practical guide to kernel internals, writing modules, and kernel synchronization
Billimoria, Kaiwan N.
Paperback
A Handbook for Mainframe z/OS Enterprise Architects - Architecture and Design of Large-Scale Environments
Sahoo, Natabar
Paperback
Don't Be Afraid of the Mainframe: The Missing Introduction for IT Leaders and Professionals
de Greef, Niek
Paperback
Android Phone User Guide for Seniors: A Beginner-Friendly Guide to Calling, Texting, Photos, Apps & Online Safety
Foster, Henry L.
Paperback
Learning the VI and VIM Editors: Power and Agility Beyond Just Text Editing
Hannah, Elbert
Robbins, Arnold
Paperback
Linux: A Complete Guide to Learn Linux Commands, Linux Operating System and Shell Scripting Step-by-Step
Ayden, Nicholas
Paperback
Powershell Cookbook: Your Complete Guide to Scripting the Ubiquitous Object-Based Shell
Holmes, Lee
Paperback
Developing Inclusive Mobile Apps: Building Accessible Apps for IOS and Android
Whitaker, Rob
Paperback
Chatgpt: A Guide to Making Money With Chatgpt (Creative Ways for Teens and Young Adults to Make Money With Chatgpt)
Trotter, Thomas
Paperback
Understanding the Linux Kernel: From I/O Ports to Process Management
Cesati, Marco
Bovet, Daniel P.
Paperback
Learn FileMaker Pro 2024: The Comprehensive Guide to Building Custom Databases
Munro, Mark Conway
Paperback
Linux: The ultimate guide to Linux for beginners, Linux hacking, Linux command line, Linux operating system, and more!
Newport, Craig
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
Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together
Dunbar, Norman
Paperback
Canva User Guide For Beginners: Design Stunning Graphics for Social Media, Business, and More
Caden, Clara
Paperback
The Ultimate Linux Shell Scripting Guide: Automate, Optimize, and Empower tasks with Linux Shell Scripting
Tevault, Donald a.
Paperback
Ubuntu 26.04 LTS: A Comprehensive Guide for Beginners and Advanced Users
Rodgers, David A., Jr.
Paperback
iPad for Seniors - iPadOS 16 Edition: The illustrated, Step-by-step guide on how to use iPad (Large Print Edition)
Wilson, Kevin
Paperback
Embedded Systems Architecture - Second Edition: Design and write software for embedded devices to build safe and connected systems
Lacamera, Daniele
Paperback
Comando de Linux: Una guía completa para principiantes para aprender los reinos del comando Linux desde A-Z
Vance, William
Paperback
Grep Pocket Reference: A Quick Pocket Reference for a Utility Every UNIX User Needs
Bambenek, John
Klus, Agnieszka
Paperback
Mastering Linux Security and Hardening - Third Edition: A practical guide to protecting your Linux system from cyber attacks
Tevault, Donald a.
Hardcover
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
iMac M4 for Beginners & Seniors: The Step-by-Step User Guide to your New Desktop Without Feeling Overwhelmed
Russell, Luis J.
Paperback
