Linux设备驱动程序开发(影印版 英文版)

Linux设备驱动程序开发(影印版 英文版)
作 者: 约翰·马杜
出版社: 东南大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Linux设备驱动程序开发(影印版 英文版)》作者简介

内容简介

Linux内核是一种复杂、可迁移、模块化和广泛 使用的软件,在全世界过半数设备的80%左右服务器 和嵌入式系统中运行。设备驱动程序在Linux系统良 好运行中起到**重要的作用。随着Linux已成为* 流行的操作系统之一,为专有设备开发驱动程序的兴 趣也与日俱增。约翰·马杜著的《Linux设备驱动程序开发(影印 版)(英文版)》将帮助你理解驱动程序相关基础知识 ,并带你完成游览Linux内核的漫长旅程。本书涵盖 基于多种Linux子系统的驱动程序开发,包括内存管 理、PWM、RTC、IIO和IRQ管理。本书还提供直接内存 访问和网络设备驱动程序的实用方法。在本书*后,你将会熟悉驱动程序开发的概念, 并且可以从头开始为*新版内核编写任何驱动程序。

图书目录

Preface

Chapter 1: Introduction to Kernel Development

Environment setup

Getting the sources

Source organization

Kernel configuration

Build your kernel

Kernel habits

Coding style

Kernel structures allocation/initialization

Classes, objects, and OOP

Summary

Chapter 2: Device Driver Basis

User space and kernel space

The concept of modules

Module dependencies

depmod utility

Module loading and unloading

Manual loading

modprobe and insmod

/etc/modules-load.d/(filename).conf

Auto-loading

Module unload

Driver skeletons

Module entry and exit point

init and exit attributes

Module information

Licensing

Module author(s)

Module description

Errors and message printing

Error handling

Handling null pointer errors

Message printing - printk0

Module parameters

Building your first module

The module's makefile

In the kernel tree

Out of the tree

Building the module

Summary

Chapter 3: Kernel Facilities and Helper Functions

Understanding container_of macro

Linked lists

Creating and initializing the list

Dynamic method

Static method

Creating a list node

Adding a list node

Deleting a node from the list

Linked list traversal

Kernel sleeping mechanism

Wait queue

Delay and timer management

Standard timers

Jiffies and HZ

Timers API

Timer setup initialization

Standard timer example

High resolution timers (HRTs)

HRT API

HRT setup initialization

Dynamic tick/tickless kernel

Delays and sleep in the kernel

Atomic context

Nonatomic context

Kernel locking mechanism

Mutex

Mutex API

Declare

Acquire and release

Spinlock

Spinlock versus mutexes

Work deferring mechanism

Softirqs and ksoftirqd

ksoftirqd

Tasklets

Declaring a tasklet

……

Chanter 4: Character Device Drivers

Chapter 5: Platform Device Drivers

Chaoter 6: The Conceot of Device Tree

Chapter 7: 12C 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

Chaoter 17: Inout Devices Drivers

Chapter 18: RTC Drivers

Chapter 19: PWM Drivers

Chapter 20: Regulator Framework

Chapter 21: Framebuffer Drivers

Chapter 22: Network Interface Card Drivers