深入理解Linux驱动程序设计PDF电子书下载
- 电子书积分:9 积分如何计算积分?
- 作 者:吴国伟,姚琳,毕成龙编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2015
- ISBN:9787302401636
- 页数:192 页
第1章 Linux内核组成和机制 1
1.1 Linux内核版本与发展 1
1.1.1 Linux操作系统的诞生 1
1.1.2 Linux内核版本的变迁 2
1.2 Linux内核编译 3
1.2.1 获取内核源码 3
1.2.2 内核源码树 3
1.2.3 编译内核 4
1.3 Linux内核组成 6
1.4 Linux内核机制 7
1.4.1 内核启动过程 7
1.4.2 模块机制 8
第2章 Linux内核设备管理方式 10
2.1 devfs设备文件系统 10
2.2 sysfs文件系统 10
2.3 udev设备文件系统 12
2.4 主要数据结构 12
2.4.1 kobject 12
2.4.2 ktype 14
2.4.3 kset 14
2.4.4 三者关系 15
2.5 热插拔设备管理机制 16
2.5.1 热插拔事件流程 16
2.5.2 涉及的模块 18
2.5.3 关键驱动函数 19
第3章 Linux驱动开发基础 20
3.1 同步机制 20
3.1.1 内核同步机制分类 21
3.1.2 自旋锁与信号量的比较 33
3.2 make及makefile 33
3.2.1 makefile文件 34
3.2.2 编写makefile文件 34
3.2.3 make命令 38
3.3 调试方法 41
3.3.1 printk 42
3.3.2 /proc文件系统 43
3.3.3 调试器及相关工具 44
第4章 Linux字符设备驱动开发 46
4.1 关键数据结构 48
4.2 接口函数部分内核代码分析 51
4.3 字符设备驱动设计 57
4.3.1 字符设备驱动设计场景描述 57
4.3.2 字符设备驱动设计过程 57
第5章 Linux内核中断机制 61
5.1 中断 61
5.2 中断处理 62
5.2.1 注册中断处理程序 62
5.2.2 编写中断处理程序 63
5.3 中断上半部与下半部的对比 63
5.4 中断下半部 64
5.5 BH机制与任务队列机制 64
5.6 软中断 65
5.6.1 软中断的实现 65
5.6.2 软中断的使用 66
5.7 tasklet 66
5.7.1 tasklet的实现 66
5.7.2 tasklet的使用 68
5.8 工作队列 68
5.8.1 工作队列的实现 68
5.8.2 工作队列的使用 69
第6章 Linux块设备驱动开发 71
6.1 块设备管理机制 71
6.1.1 块设备基本概念 71
6.1.2 块设备在Linux中的结构 72
6.2 块设备关键数据结构 73
6.2.1 gendisk数据结构 73
6.2.2 block_device_operations数据结构 74
6.2.3 request数据结构 75
6.2.4 request_queue数据结构 77
6.2.5 bio数据结构 78
6.3 块设备驱动设计函数 81
6.3.1 块设备驱动注册与注销函数 81
6.3.2 块设备驱动打开与关闭函数 81
6.3.3 块设备驱动ioctl、read和write函数 81
6.3.4 块设备驱动的请求函数 82
6.4 Ramdisk块设备驱动实例 83
6.4.1 Ramdisk块设备驱动实例分析 83
6.4.2 Ramdisk块设备驱动实例测试 84
第7章 Linux网络设备驱动开发 86
7.1 网络设备 86
7.1.1 网络系统分层结构 86
7.1.2 网络设备管理 87
7.2 NAPI机制 89
7.3 关键数据结构 90
7.4 内核提供的网络设备驱动设计函数 92
7.4.1 alloc_netdev 92
7.4.2 register_netdev 92
7.4.3 ether_setup 92
7.4.4 unregister_netdev 93
7.5 网络设备驱动开发实例 93
7.5.1 snull_init_module函数 94
7.5.2 snull_init函数 94
7.5.3 相关操作函数 95
第8章 Linux MMC/SD驱动开发 100
8.1 MMC子系统基本架构 100
8.2 关键数据结构 101
8.2.1 基本数据结构 101
8.2.2 基本数据结构主要成员及关系 101
8.3 MMC/CD卡驱动实例 105
8.3.1 MMC/SD卡设备驱动设计场景 105
8.3.2 MMC/SD卡设备驱动实例实现 107
第9章 LinuxUSB驱动开发 115
9.1 USB设备管理机制 115
9.1.1 USB与串口 115
9.1.2 USB设备属性拓扑结构管理机制 115
9.1.3 USB设备逻辑组织管理机制 116
9.2 USB驱动关键数据结构分析 117
9.3 USB设备驱动函数及其使用说明 119
9.3.1 客户端驱动管理 119
9.3.2 USB设备配置和管理 120
9.3.3 主机控制器的管理 121
9.3.4 协议控制命令集和数据传输管理 122
9.4 USB设备驱动开发实例 123
9.4.1 实例开发场景设计 123
9.4.2 USB设备驱动开发实例的实现 123
9.4.3 驱动测试分析 128
第10章 Linux I2C总线设备驱动 130
10.1 Linux总线驱动及I2C总线 130
10.1.1 Linux总线驱动设计过程 130
10.1.2 I2C总线的工作原理与应用 131
10.1.3 总线基本操作 132
10.2 Linux I2C体系结构 133
10.2.1 Linux的I2C体系结构组成 133
10.2.2 Linux I2C关键数据结构 134
10.3 Linux I2C核心 139
10.4 Linux I2C总线驱动 141
10.4.1 I2C适配器驱动加载与卸载 141
10.4.2 I2C总线通信方法 141
10.5 Linux I2C设备驱动 143
10.5.1 Linux I2C设备驱动模块加载与卸载 144
10.5.2 Linux I2C设备驱动的数据传输 144
10.5.3 Linux i2c-dev.c文件分析 145
10.6 Linux I2C驱动实例——EEPROM 146
10.6.1 初始化 146
10.6.2 探测设备 147
10.6.3 检查适配器的功能 148
10.6.4 访问设备 148
10.6.5 其他函数 149
第11章 Linux PCI总线设备驱动 151
11.1 PCI总线设备 151
11.1.1 PCI总线 151
11.1.2 PCI设备 152
11.2 PCI设备驱动结构 155
11.3 PCI设备驱动实例 156
11.3.1 PCI设备驱动程序基本框架 156
11.3.2 初始化设备模块 158
11.3.3 打开设备模块 159
11.3.4 数据读写和控制信息模块 160
11.3.5 中断处理模块 160
11.3.6 释放设备模块 161
11.3.7 卸载设备模块 162
第12章 Linux输入设备驱动 163
12.1 Linux输入子系统结构 163
12.2 输入设备驱动核心数据结构分析 164
12.3 Linux输入设备驱动实例 168
12.3.1 输入设备驱动流程 168
12.3.2 USB鼠标驱动编写实例 169
第13章 Linux Flash驱动开发 174
13.1 Flash存储器 174
13.2 Linux MTD系统层次结构 174
13.3 关键数据结构 175
13.3.1 mtd_info结构体 176
13.3.2 mtd_table结构体 178
13.3.3 mtd_part结构体 179
13.3.4 mtd_partition结构体 179
13.3.5 map_info结构体 179
13.4 驱动相关函数 180
13.4.1 add_mtd_device函数 180
13.4.2 del_mtd_device函数 180
13.4.3 add_mtd_partitions函数 180
13.4.4 del_mtd_partitions函数 181
13.4.5 do_map_probe函数 182
13.5 Nor型Flash驱动实例 183
13.5.1 Nor型Flash驱动设计流程 183
13.5.2 Nor型Flash驱动详细设计 184
13.6 Nand型Flash驱动实例 188
13.6.1 Nand型Flash设备驱动设计步骤 188
13.6.2 Nand型Flash驱动实现 189
参考文献 192
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《改革进程中的刑事诉讼程序与证据问题研究 基于警察的视角》谢波 2019
- 《Java程序设计基础》罗刚 2018
- 《C++程序设计实验指导 第2版》张潇责任编辑;孟桂娥 2019
- 《C程序设计教程 第3版》林小茶,陈昕 2018
- 《Java语言程序设计教程》胡光 2018
- 《C语言程序设计》黑新宏,胡元义主编 2019
- 《C++语言程序设计习题与实验指导》姚雅鹃,石礼娟 2018
- 《深入推进自我革命》任仲文 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019