图书介绍

Linux驱动程序开发实例 第2版PDF|Epub|txt|kindle电子书版本网盘下载

Linux驱动程序开发实例 第2版
  • 冯国进编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111567066
  • 出版时间:2017
  • 标注页数:418页
  • 文件大小:114MB
  • 文件页数:432页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Linux驱动程序开发实例 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Linux设备驱动程序入门1

1.1 设备驱动程序基础1

1.1.1 驱动程序的概念1

1.1.2 驱动程序的加载方式2

1.1.3 编写可加载模块3

1.1.4 带参数的可加载模块4

1.1.5 模块依赖5

1.1.6 printk的等级7

1.1.7 设备驱动程序类别8

1.2 字符设备驱动程序原理9

1.2.1 file_operations结构9

1.2.2 使用register_chrdev注册字符设备11

1.2.3 使用cdev_add注册字符设备14

1.2.4 字符设备的读写16

1.2.5 IOCTL接口17

1.2.6 seek接口20

1.2.7 poll接口22

1.2.8 异步通知26

1.3 seq_file机制28

1.3.1 seq_file原理28

1.3.2 seq_file实例29

1.4 /proc文件系统35

1.4.1 /proc文件系统概述35

1.4.2 /proc文件系统接口36

1.5 Linux内核导读40

1.5.1 Linux内核组成40

1.5.2 Linux的代码结构42

1.5.3 内核Makefile43

第2章 Linux设备驱动模型44

2.1 内核对象44

2.1.1 kobject44

2.1.2 kobj_type45

2.1.3 kset45

2.2 设备模型层次46

2.3 sysfs文件系统49

2.4 platform概念51

2.5 Attributes56

2.6 设备事件通知60

2.6.1 kobject uevent60

2.6.2 uevent helper61

2.6.3 udev63

2.7 设备树64

第3章 Linux内核同步机制67

3.1 原子操作67

3.2 锁机制68

3.2.1 自旋锁68

3.2.2 读写锁70

3.2.3 RCU71

3.2.4 信号量75

3.2.5 读写信号量77

3.2.6 互斥量77

3.3 等待队列78

3.3.1 等待队列原理78

3.3.2 阻塞模式读实例78

3.3.3 完成事件81

3.4 通知链83

第4章 内存管理与链表86

4.1 物理地址和虚拟地址86

4.2 内存分配与释放87

4.3 cache88

4.4 IO端口到虚拟地址的映射88

4.4.1 静态映射88

4.4.2 ioremap89

4.5 内核空间到用户空间的映射90

4.5.1 mmap接口90

4.5.2 mmap系统调用91

4.6 DMA映射93

4.7 内核链表93

4.7.1 Linux内核中的链表93

4.7.2 内核链表实例95

第5章 任务与调度98

5.1 schedule98

5.2 内核线程99

5.3 内核调用应用程序101

5.4 软中断机制103

5.4.1 软中断原理103

5.4.2 tasklet106

5.5 工作队列108

5.5.1 工作队列原理108

5.5.2 延迟工作队列110

5.6 内核时间110

5.6.1 Linux下的时间概念110

5.6.2 Linux下的延迟111

5.6.3 内核定时器112

第6章 简单硬件设备驱动程序115

6.1 硬件基础知识115

6.1.1 硬件设备原理115

6.1.2 时序图原理116

6.1.3 嵌入式Linux系统构成117

6.1.4 硬件初始化117

6.1.5 clk体系120

6.2 dev/mem与dev/kmem121

6.3 寄存器访问124

6.3.1 S3C6410X地址映射124

6.3.2 S3C6410X看门狗驱动程序实例128

6.4 电平控制131

6.4.1 S3C6410X LED驱动程序实例132

6.4.2 扫描型按键驱动程序实例135

6.5 硬件中断处理137

6.5.1 硬件中断处理原理137

6.5.2 中断型按键驱动程序实例141

6.6 看门狗驱动架构146

6.7 RTC驱动148

6.8 LED类设备153

第7章 I2C设备驱动程序157

7.1 I2C接口原理157

7.2 Linux的I2C驱动程序架构159

7.2.1 I2C适配器160

7.2.2 I2C算法161

7.2.3 I2C从设备161

7.2.4 I2C从设备驱动162

7.2.5 I2C从设备驱动开发163

7.3 I2C控制器驱动163

7.3.1 S3C2410X的I2C控制器163

7.3.2 S3C2410X的I2C控制器驱动164

7.4 通用I2C从设备172

7.4.1 通用I2C从设备驱动172

7.4.2 通过read与write接口读写174

7.4.3 通过I2C_RDWR命令读写177

7.4.4 I2Ctools180

7.5 个性化I2C从设备驱动181

第8章 TTY与串口驱动程序185

8.1 TTY概念185

8.2 Linux TTY驱动程序体系185

8.2.1 TTY驱动程序架构185

8.2.2 TTY文件层186

8.2.3 线路规程层188

8.2.4 TTY驱动层190

8.2.5 TTY数据链路分析193

8.3 串口驱动层194

8.3.1 uart_driver194

8.3.2 uart_port195

8.4 S3C6410X串口设备驱动程序197

8.5 TTY应用层201

第9章 Framebuffer驱动程序203

9.1 Linux Framebuffer驱动程序原理203

9.1.1 Framebuffer核心数据结构203

9.1.2 Framebuffer操作接口206

9.1.3 Framebuffer驱动的文件接口207

9.1.4 Framebuffer驱动框架代码分析209

9.2 S3C6410X显示控制器210

9.3 S3C6410X LCD驱动程序实例215

9.3.1 注册与初始化215

9.3.2 fb_ops实现220

9.3.3 DMA传输机制222

9.3.4 内核配置227

9.4 Framebuffer应用层227

9.5 Qt界面系统移植229

第10章 输入子系统231

10.1 Linux输入子系统概述231

10.2 Linux输入子系统原理231

10.2.1 输入设备232

10.2.2 输入事件233

10.2.3 input Handler层234

10.2.4 常用的Input Handler236

10.3 输入设备应用层241

10.4 键盘输入设备驱动程序实例243

10.5 Event接口实例249

10.6 触摸屏驱动程序实例253

10.6.1 S3C6410X触摸屏控制器253

10.6.2 S3C6410X触摸屏驱动程序255

10.7 Linux红外遥控驱动263

第11章 块设备驱动与文件系统268

11.1 块设备驱动原理268

11.1.1 block_device268

11.1.2 gendisk269

11.1.3 bio270

11.1.4 请求队列271

11.2 Linux文件系统概述276

11.2.1 虚拟文件系统277

11.2.2 日志文件系统和非日志文件系统278

11.2.3 根文件系统279

11.2.4 文件系统总结280

11.2.5 文件系统挂载280

11.3 虚拟文件系统接口281

11.3.1 VFS文件接口281

11.3.2 VFS目录接口283

11.4 根文件系统制作284

11.4.1 Busybox284

11.4.2 shell基础286

11.4.3 根文件系统构建实例288

11.4.4 添加mdev288

11.5 NFS根文件系统搭建289

第12章 NAND Flash驱动293

12.1 MTD设备层293

12.1.1 MTD架构293

12.1.2 MTD字符设备295

12.1.3 MTD块设备300

12.2 NAND Flash驱动层概述304

12.2.1 硬件原理304

12.2.2 NAND核心层架构305

12.2.3 NAND Flash坏块处理308

12.3 S3C6410X NAND Flash驱动310

12.4 Ubifs文件系统实例315

第13章 网络设备驱动程序319

13.1 网络设备程序概述319

13.1.1 网络设备的特殊性319

13.1.2 sk_buff结构320

13.1.3 网络设备驱动程序架构321

13.1.4 虚拟网络设备驱动程序实例325

13.1.5 网络硬件接口的分层结构329

13.2 DM9000A网卡驱动程序开发329

13.2.1 DM9000A原理329

13.2.2 DM9000A驱动程序分析331

13.2.3 DM9000A网卡驱动程序移植341

13.4 ethtool344

13.5 PHY芯片驱动347

13.6 Netlink Socket352

13.6.1 Netlink机制352

13.6.2 Netlink应用层编程357

13.6.3 Netlink驱动程序实例357

第14章 USB驱动程序361

14.1 USB体系概述361

14.1.1 USB系统组成361

14.1.2 USB主机361

14.1.3 USB设备逻辑层次362

14.2 Linux USB驱动程序体系364

14.2.1 USB总体结构364

14.2.2 USB设备驱动364

14.2.3 USB设备365

14.2.4 主机控制器驱动366

14.2.5 USB请求块urb367

14.3 USB设备枚举370

14.4 S3C6410X USB主机控制器驱动程序372

14.4.1 驱动程序原理分析372

14.4.2 S3C6410X加载U盘实例374

14.5 USB键盘设备驱动程序分析375

第15章 音频设备驱动程序380

15.1 ALSA音频体系380

15.2 ALSA核心层381

15.2.1 声卡381

15.2.2 音频设备382

15.2.3 PCM382

15.2.4 音频控制接口384

15.2.5 AC97声卡387

15.3 ALSA SOC架构388

15.3.1 SOC声卡389

15.3.2 DAI392

15.3.3 codec393

15.3.4 SOC平台394

15.3.5 PCM运行时配置394

15.3.6 DAPM397

15.4 ALSA驱动程序实例400

15.4.1 S3C6410X的AC97控制单元401

15.4.2 Machine Driver402

15.4.3 Platform Driver403

15.4.4 Codec Driver408

15.5 ALSA音频缓冲逻辑409

15.6 ALSA应用编程接口413

参考文献418

热门推荐