Linux驱动入门

出版日期:2014-3
ISBN:9787121224615
作者:魏清
页数:320页

书籍目录

第1章  内核基础
1
1.1 Linux内核组成
1
1.2 Linux内核的引导
2
1.3 处理器
3
1.4 存储器
4
第2章 进程管理
5
2.1 进程调度
5
2.2 Linux调度的实现
5
2.3 抢占和上下文切换
6
2.4 进程概念
6
2.5 进程上下文
7
2.6 进程与线程的创建
7
2.7 孤儿进程
8
2.8 系统调用
8
2.9 内核设计系统调用
9
第3章 中断处理
11
3.1 中断和中断处理
11
3.2 中断的下半部分
11
3.3 中断下半部分的实现
12
第4章 定时计数
14
4.1 定时器基本概念
14
4.2 动态定时器的使用
15
第5章 并发同步
16
5.1 内核同步与死锁问题
16
5.2 解决并发同步的方法
17
第6章 内存管理
19
6.1 内存管理中基本概念
19
6.2 申请内存的几种方法
19
6.3 内核栈
20
6.4 进程地址空间的基本概念
21
6.5 创建和撤销内存区域
22
6.6 页表
22
6.7 页高速缓存与页回写
23
第7章 Platform总线
25
7.1 Platform设备驱动概念
25
7.1.1 Platform总线
25
7.1.2 Platform设备
26
7.1.3 Platform驱动
29
7.2 平台设备的资源
29
7.2.1 平台数据和私有数据的区别
29
7.2.2 Platform设备资源的读取
30
7.3 平台设备驱动测试
30
7.3.1 Platform设备模块代码
31
7.3.2 Platform驱动模块代码
32
7.3.3 应用层测试代码
37
第8章 单总线
39
8.1 单总线驱动概述
39
8.2 单总线驱动移植
39
8.3 单总线驱动内核代码分析
40
8.3.1 master驱动分析
40
8.3.2 slave驱动分析
48
8.4 单总线驱动测试
52
8.5 脱离子系统的DS18B20驱动
53
第9章 I2C总线
58
9.1 系统理论
58
9.1.1 I2C驱动体系概述
58
9.1.2 驱动工程师需要做的事
58
9.2 内核代码
58
9.2.1 内核/drivers/i2c目录下文件分析
58
9.2.2 I2C核心
59
9.2.3 I2C总线驱动
59
9.2.4 I2C设备驱动
73
9.3 测试代码
80
第10章 串口总线
83
10.1 系统理论
83
10.2 串口内核配置
83
10.3 UART层内核代码
85
10.4 TTY层内核代码
88
10.5 线路规程内核代码
97
10.6 串口测试代码
103
第11章 PCI总线
109
11.1 PCI总线理论
109
11.1.1 PCI总线的特点
109
11.1.2 PCI设备概述
109
11.1.3 查询PCI总线和设备的命令
110
11.1.4 PCI总线架构
110
11.2 PCI驱动
111
11.2.1 PCI寻找空间
111
11.2.2 PCI总线支持的设备
112
11.2.3 PCI驱动其他API
112
11.3 PCI驱动模型
112
11.4 PCI设备的枚举过程
114
第12章 SPI总线
132
12.1 SPI理论介绍
132
12.2 SPI驱动移植
132
12.3 SPI设备和驱动的注册
135
12.3.1 SPI主控设备的注册
135
12.3.2 SPI接口设备的添加
136
12.3.3 SPI主控设备驱动的注册
137
12.3.4 SPI接口设备的注册
137
12.3.5 SPI接口设备驱动的注册
138
12.4 SPI内核代码分析
139
12.5 SPI测试代码
159
第13章 USB总线
162
13.1 USB总线理论
162
13.1.1 USB概述
162
13.1.2 USB主机控制器
162
13.1.3 USB设备与USB驱动的匹配
162
13.1.4 USB设备的逻辑结构和端点的传输方式
163
13.1.5 USB的URB请求块
163
13.1.6 USB的枚举过程
164
13.2 USB总线驱动分析
164
13.2.1 USB驱动框架usb-skeleton.c
164
13.2.2 USB鼠标驱动 usbmouse.c
174
13.2.3 USB键盘驱动usbkbd.c
178
13.2.4 U盘驱动分析
183
13.3 U盘驱动测试
197
第14章 Keyboard子系统
198
14.1 Keyboard子系统移植与分析
198
14.2 Keyboard驱动测试
200
第15章 LED子系统
201
15.1 LED子系统移植与分析
201
15.2 LED驱动测试
205
第16章 RTC子系统
206
16.1 RTC子系统的移植与分析
206
16.2 RTC驱动测试
210
第17章 Input子系统
211
17.1 Input子系统系统理论
211
17.1.1 Input子系统概述
211
17.1.2 Input子系统几个重要数据结构
211
17.1.3 Input子系统核心层和事件处理层函数概述
214
17.2 内核代码
214
17.2.1 输入子系统设备驱动层
214
17.2.2 输入子系统核心层
224
17.2.3 输入子系统事件处理层
227
17.3 测试代码
229
17.3.1 设备驱动层代码
230
17.3.2 应用层测试代码
232
17.3.3 测试过程和结果
233
第18章 Backlight背光子系统
234
18.1 Backlight背光子系统概述
234
18.2 PWM核心驱动
234
18.3 Backlight核心驱动
239
18.4 基于PWM&Backlight的蜂鸣器驱动
242
18.5 驱动测试
246
第19章 Hwmon子系统
247
19.1 Hwmon子系统概述
247
19.2 ADC核心驱动
247
19.3 Hwmon核心驱动
251
19.4 基于ADC&Hwmon的A/D驱动
252
19.5 驱动测试
258
第20章 看门狗驱动
259
20.1 看门狗驱动移植与分析
259
20.2 看门狗驱动测试
260
第21章 LCD驱动
261
21.1 LCD屏理论
261
21.1.1 LCD屏基本概念
261
21.1.2 帧缓冲的理解
261
21.2 Mini2440的X35型LCD移植
262
21.3 LCD文件层和驱动层设计思路
264
21.3.1 LCD驱动中几个重要的数据结构
265
21.3.2 LCD驱动层
268
21.3.3 LCD文件层
279
21.4 LCD驱动测试
284
第22章 触摸屏驱动
286
22.1 触摸屏理论概述
286
22.2 触摸屏驱动分析
286
22.3 触摸屏驱动测试
294
第23章 Linux下的块设备驱动
296
23.1 块设备驱动概论
296
23.2 块设备驱动中几个重要的数据结构
296
23.3 使用I/O调度的块设备驱动
298
23.4 块设备驱动的测试
302
第24章 Linux下的网络设备驱动
305
24.1 网络设备驱动基础
305
24.1.1 以太网基础理论
305
24.1.2 Linux网络驱动层次
305
24.2 网络设备驱动移植
307
24.3 网络设备驱动测试
308
参考文献
309

作者简介

本书主要是从Linux内核、Linux总线和Linux子系统三个角度对Linux驱动进行介绍的,然后对字符设备、块设备和网络设备也分别做了大致介绍。从内容上来讲,本书包括4个部分:Linux内核部分(第1~6章),主要包括Linux进程调度与进程管理、中断机制、定时机制、并发与同步机制及内存管理,通过对本篇内容的学习,读者可以掌握Linux内核的基本概念;Linux总线部分(第7~13章),主要包括Platfrom总线、单总线、I2C总线、串口总线、PCI总线、SPI总线和USB总线,通过对本篇内容的学习,读者可以掌握设备是如何挂载到Linux内核总线上的;Linux子系统部分(第14~19章),主要包括Keyboard子系统,LED子系统、RTC子系统、Input子系统、Backlight子系统、Hwmon子系统,通过对本篇内容的学习,读者可以掌握如何使用内核中现有的子系统,给设备编写驱动;Linux驱动部分(第20~24章),主要包括看门狗驱动、LCD驱动、触摸屏驱动、块设备驱动和网络设备驱动,通过对本篇内容的学习,读者可以掌握具体的设备驱动程序的设计方法。


 Linux驱动入门下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024