Linux Device Driver Development : Everything you need to start with device driver development for Linux kernel and embedded Linux, 2/e (Paperback)
暫譯: Linux 裝置驅動程式開發:開始 Linux 核心及嵌入式 Linux 裝置驅動程式開發所需的一切,第二版 (平裝本)

John Madieu

  • 出版商: Packt Publishing
  • 出版日期: 2022-04-21
  • 售價: $1,980
  • 貴賓價: 9.5$1,881
  • 語言: 英文
  • 頁數: 708
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1803240067
  • ISBN-13: 9781803240060
  • 相關分類: 嵌入式系統Linux
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

Get up to speed with the most important concepts in driver development and focus on common embedded system requirements such as memory management, interrupt management, and locking mechanisms

Key Features

  • Write feature-rich and customized Linux device drivers for any character, SPI, and I2C device
  • Develop a deep understanding of locking primitives, IRQ management, memory management, DMA, and so on
  • Gain practical experience in the embedded side of Linux using GPIO, IIO, and input subsystems

Book Description

Linux is by far the most-used kernel on embedded systems. Thanks to its subsystems, the Linux kernel supports almost all of the application fields in the industrial world. This updated second edition of Linux Device Driver Development is a comprehensive introduction to the Linux kernel world and the different subsystems that it is made of, and will be useful for embedded developers from any discipline.

You'll learn how to configure, tailor, and build the Linux kernel. Filled with real-world examples, the book covers each of the most-used subsystems in the embedded domains such as GPIO, direct memory access, interrupt management, and I2C/SPI device drivers. This book will show you how Linux abstracts each device from a hardware point of view and how a device is bound to its driver(s). You'll also see how interrupts are propagated in the system as the book covers the interrupt processing mechanisms in-depth and describes every kernel structure and API involved. This new edition also addresses how not to write device drivers using user space libraries for GPIO clients, I2C, and SPI drivers.

By the end of this Linux book, you'll be able to write device drivers for most of the embedded devices out there.

What you will learn

  • Download, configure, build, and tailor the Linux kernel
  • Describe the hardware using a device tree
  • Write feature-rich platform drivers and leverage I2C and SPI buses
  • Get the most out of the new concurrency managed workqueue infrastructure
  • Understand the Linux kernel timekeeping mechanism and use time-related APIs
  • Use the regmap framework to factor the code and make it generic
  • Offload CPU for memory copies using DMA
  • Interact with the real world using GPIO, IIO, and input subsystems

Who this book is for

This Linux OS book is for embedded system and embedded Linux enthusiasts/developers who want to get started with Linux kernel development and leverage its subsystems. Electronic hackers and hobbyists interested in Linux kernel development as well as anyone looking to interact with the platform using GPIO, IIO, and input subsystems will also find this book useful.

商品描述(中文翻譯)

**掌握驅動程式開發中最重要的概念,並專注於常見的嵌入式系統需求,例如記憶體管理、中斷管理和鎖定機制**

#### 主要特點

- 為任何字符、SPI 和 I2C 設備編寫功能豐富且自定義的 Linux 設備驅動程式
- 深入理解鎖定原語、IRQ 管理、記憶體管理、DMA 等等
- 獲得使用 GPIO、IIO 和輸入子系統的 Linux 嵌入式實務經驗

#### 書籍描述

Linux 是嵌入式系統中使用最廣泛的核心。得益於其子系統,Linux 核心幾乎支持工業界所有的應用領域。本書的更新第二版《Linux 設備驅動程式開發》是對 Linux 核心世界及其組成的不同子系統的全面介紹,對於來自任何學科的嵌入式開發者都將非常有用。

您將學會如何配置、調整和構建 Linux 核心。本書充滿了實際案例,涵蓋了嵌入式領域中最常用的子系統,例如 GPIO、直接記憶體存取、中斷管理和 I2C/SPI 設備驅動程式。本書將向您展示 Linux 如何從硬體的角度抽象每個設備,以及設備如何與其驅動程式綁定。您還將看到中斷如何在系統中傳播,因為本書深入探討了中斷處理機制,並描述了每個涉及的核心結構和 API。本新版本還針對如何不使用用戶空間庫為 GPIO 客戶端、I2C 和 SPI 驅動程式編寫設備驅動程式進行了說明。

在本書結束時,您將能夠為大多數嵌入式設備編寫設備驅動程式。

#### 您將學到什麼

- 下載、配置、構建和調整 Linux 核心
- 使用設備樹描述硬體
- 編寫功能豐富的平台驅動程式並利用 I2C 和 SPI 總線
- 充分利用新的並發管理工作隊列基礎架構
- 理解 Linux 核心的時間管理機制並使用時間相關的 API
- 使用 regmap 框架來重構代碼並使其通用
- 使用 DMA 將記憶體複製的 CPU 負載卸載
- 使用 GPIO、IIO 和輸入子系統與現實世界互動

#### 本書適合誰

這本 Linux 操作系統書籍適合嵌入式系統和嵌入式 Linux 愛好者/開發者,想要開始進行 Linux 核心開發並利用其子系統。對 Linux 核心開發感興趣的電子駭客和愛好者,以及任何希望使用 GPIO、IIO 和輸入子系統與平台互動的人,都會發現本書非常有用。

目錄大綱

1. Introduction to Kernel Development
2. Understanding Linux Kernel Module Basic Concepts
3. Dealing with Kernel Core Helpers
4. Writing Character Device Drivers
5. Understanding and Leveraging the Device Tree
6. Introduction to Devices, Drivers, and Platform Abstraction
7. Understanding the Concept of Platform Devices and Drivers
8. Writing I2C Device Drivers
9. Writing SPI Device Drivers
10. Understanding the Linux Kernel Memory Allocation
11. Implementing Direct Memory Access (DMA) Support
12. Abstracting Memory Access – Introduction to the Regmap API: a Register Map Abstraction
13. Demystifying the Kernel IRQ Framework
14. Introduction to the Linux Device Model
15. Digging into the IIO Framework
16. Getting the Most Out of the Pin Controller and GPIO Subsystems
17. Leveraging the Linux Kernel Input Subsystem

目錄大綱(中文翻譯)

1. Introduction to Kernel Development

2. Understanding Linux Kernel Module Basic Concepts

3. Dealing with Kernel Core Helpers

4. Writing Character Device Drivers

5. Understanding and Leveraging the Device Tree

6. Introduction to Devices, Drivers, and Platform Abstraction

7. Understanding the Concept of Platform Devices and Drivers

8. Writing I2C Device Drivers

9. Writing SPI Device Drivers

10. Understanding the Linux Kernel Memory Allocation

11. Implementing Direct Memory Access (DMA) Support

12. Abstracting Memory Access – Introduction to the Regmap API: a Register Map Abstraction

13. Demystifying the Kernel IRQ Framework

14. Introduction to the Linux Device Model

15. Digging into the IIO Framework

16. Getting the Most Out of the Pin Controller and GPIO Subsystems

17. Leveraging the Linux Kernel Input Subsystem

最後瀏覽商品 (20)