《深入剖析Linux内核与设备驱动》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:董峰编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111494263
  • 页数:700 页
图书介绍:本书从需求的角度出发,以层次分析的方法探究Linux内核以及驱动的各部分框架和实现。另外以TI的嵌入式芯片为例,对内核各部分功能特别是电源管理功能进行代码级别的分析。整体以需求是什么,如何实现相应需求来进行分析,更易于对系统的把握和理解。本书将软件和硬件结合起来分析了嵌入式处理以及Linux内核实现中的各种技术,特别是对电源管理技术进行了全面细致的分析和介绍。本书可以作为本科和研究生操作系统的参考书,也适合Linux内核,驱动以及嵌入式系统各种级别的开发者和爱好者。

第1章 引言 1

1.1 为什么要从硬件设备的角度看Linux内核 1

1.2 从了解硬件开始 2

1.2.1 最小系统 2

1.2.2 完整设备介绍 3

1.2.3 电源管理相关基础 5

1.3 从设备看内核应该满足的需求 6

1.4 所涉及的重要概念 6

1.5 小结 8

第2章 TI应用处理器芯片及其内核特点 9

2.1 DM 3730微处理器 9

2.1.1 DM 3730微处理器框架 10

2.1.2 DM 3730微处理器特性 11

2.1.3 DM 3730微处理器电源管理相关设计 12

2.2 DM 81XX系列微处理器 20

2.2.1 DM 81XX系列微处理器框架 20

2.2.2 DM 81XX系列微处理器特性 23

2.2.3 DM 81XX系列微处理器电源管理相关设计 24

2.3 Sitara系列芯片 28

2.3.1 Sitara系列芯片框架 29

2.3.2 Sitara系列芯片特性 31

2.3.3 Sitara系列芯片电源管理相关设计 31

2.4 TI处理器内核特殊代码结构 33

2.5 小结 38

第3章 Linux内核框架探究 39

3.1 内核框架概述 40

3.1.1 Linux内核的层次分析 40

3.1.2 Linux内核模块间关联 46

3.2 需求探究 47

3.2.1 对内核核心的需求探究 48

3.2.2 对设备管理的需求探究 48

3.3 按需求的设备分类 51

3.3.1 功能型设备 55

3.3.2 总线型设备 57

3.4 系统实现各种无关性的框架 59

3.4.1 体系结构无关 59

3.4.2 功能型设备的框架与总线无关 62

3.4.3 总线控制器与总线设备的无关 62

3.4.4 设备属性和设备操作无关 64

3.4.5 策略和机制无关 66

3.5 内核提供的基本服务和接口简介 67

3.5.1 基本数据类型 67

3.5.2 基本原子操作 70

3.5.3 延时、调度、定时器相关 71

3.5.4 锁操作 72

3.5.5 抢占和屏障 73

3.6 小结 74

第4章 内核核心介绍及硬件的具体实现 75

4.1 内核初始化 75

4.1.1 内核初始化的基本需求 75

4.1.2 内核初始化框架介绍 76

4.1.3 TI芯片内核初始化相关实现详解 77

4.2 地址映射 121

4.2.1 地址映射的基本需求 121

4.2.2 地址映射框架介绍 122

4.2.3 TI芯片地址映射相关实现详解 131

4.3 中断处理 136

4.3.1 中断的基本需求 137

4.3.2 中断处理框架介绍 138

4.3.3 TI芯片中断处理相关实现详解 143

4.4 内存管理 161

4.4.1 内存管理的基本需求 161

4.4.2 内存管理框架介绍 162

4.4.3 TI芯片内存管理相关实现详解 189

4.5 直接存储器访问单元(DMA) 192

4.5.1 DMA使用和管理基本需求 192

4.5.2 DMA使用和管理框架介绍 193

4.5.3 TI芯片DMA使用和管理相关实现详解 200

4.6 时钟(clock) 221

4.6.1 clock管理基本需求 221

4.6.2 clock管理框架介绍 221

4.6.3 TI芯片clock管理相关实现详解 225

4.7 时间管理(Time) 248

4.7.1 时间管理基本需求 248

4.7.2 时间管理框架介绍 249

4.7.3 TI芯片时间管理相关实现详解 251

4.8 通用目的输入输出(GPIO) 255

4.8.1 GPIO管理基本需求 255

4.8.2 GPIO管理框架介绍 256

4.8.3 TI芯片GPIO管理相关实现详解 260

4.9 引脚复用(pin mux) 275

4.9.1 引脚复用的基本需求 275

4.9.2 引脚复用框架介绍 275

4.9.3 TI芯片引脚复用相关实现详解 276

4.10 小结 290

第5章 内核设备管理以及驱动基础框架 292

5.1 VFS及其与设备的关联 292

5.1.1 VFS框架 292

5.1.2 VFS与设备关联 303

5.2 Linux设备模型(Linux device model) 304

5.2.1 设备模型的需求及基本设计 304

5.2.2 总线(bus) 311

5.2.3 驱动(driver) 314

5.2.4 设备(devices) 317

5.2.5 功能类(class) 324

5.2.6 设备资源管理(device resource) 325

5.3 字符设备(char device) 326

5.3.1 字符设备的特点和需求 326

5.3.2 字符设备的核心数据结构及操作 327

5.3.3 字符设备子类型 333

5.4 块设备(block device) 334

5.4.1 块设备特点和需求 334

5.4.2 块设备核心数据结构及操作 335

5.4.3 块设备子类型 346

5.5 电源管理 347

5.5.1 电源管理特点和需求 347

5.5.2 电源管理核心框架介绍 348

5.6 内核提供的同步操作、异步事件与单独执行实体的服务 366

5.6.1 同步操作服务 366

5.6.2 异步事件 368

5.6.3 单独执行实体服务 375

5.7 内核提供的数据保护一致性操作服务 380

5.7.1 数据保护一致性操作服务的需求 380

5.7.2 各种数据保护一致性操作简介 380

5.8 小结 381

第6章 设备驱动之功能型驱动 382

6.1 输入设备(input) 382

6.1.1 输入设备需求 382

6.1.2 输入设备框架解析 382

6.1.3 输入设备应用层操作及框架适配 398

6.1.4 TI芯片输入设备相关实现详解 402

6.1.5 输入设备电源管理相关说明 407

6.2 帧缓冲(frame buffer) 410

6.2.1 帧缓冲设备需求 410

6.2.2 帧缓冲框架解析 411

6.2.3 帧缓冲应用层操作及框架适配 422

6.2.4 TI芯片帧缓冲驱动相关实现详解 428

6.2.5 帧缓冲驱动电源管理相关说明 443

6.3 音频设备(audio ALSA) 447

6.3.1 音频设备需求 447

6.3.2 音频驱动框架解析 448

6.3.3 音频驱动应用层操作及框架适配 484

6.3.4 TI芯片音频驱动相关实现详解 493

6.3.5 音频驱动电源管理相关说明 515

6.4 视频驱动(V4L2) 525

6.4.1 视频驱动需求 525

6.4.2 视频驱动框架解析 525

6.4.3 视频驱动应用层操作及框架适配 554

6.4.4 TI芯片视频驱动相关实现详解 564

6.4.5 视频驱动电源管理相关说明 581

6.5 小结 584

第7章 设备驱动之总线型驱动 585

7.1 内部集成电路总线(I2C) 585

7.1.1 I2C总线驱动需求 585

7.1.2 I2C总线驱动框架解析 586

7.1.3 TI芯片I2C总线驱动相关实现详解 599

7.1.4 I2C总线驱动电源管理相关说明 612

7.2 串行外设接口总线(SPI) 614

7.2.1 SPI总线驱动需求 614

7.2.2 SPI总线驱动框架解析 615

7.2.3 TI芯片SPI总线驱动相关实现详解 625

7.2.4 SPI总线驱动电源管理相关说明 636

7.3 多媒体卡(MMC) 637

7.3.1 MMC需求 637

7.3.2 MMC框架解析 639

7.3.3 TI芯片MMC相关实现详解 657

7.3.4 MMC电源管理相关说明 667

7.4 通用串行总线(USB) 669

7.4.1 USB总线驱动需求 669

7.4.2 USB总线驱动框架解析 671

7.4.3 TI芯片USB总线驱动相关实现详解 682

7.4.4 USB总线驱动电源管理相关说明 687

7.5 小结 689

第8章 设备驱动之SoC特殊驱动 690

8.1 SoC电源管理核心技术详解 690

8.1.1 SoC电源管理需求 690

8.1.2 TTI芯片SoC电源管理相关实现详解 690

8.2 小结 699

参考文献 700