嵌入式Linux驱动程序开发实例教程PDF电子书下载
- 电子书积分:9 积分如何计算积分?
- 作 者:张光建,刘政编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2011
- ISBN:9787302260592
- 页数:176 页
第1章 设备驱动概述 1
1.1 设备驱动程序的作用 1
1.1.1 嵌入式系统的硬件组成 1
1.1.2 嵌入式系统的软件组成 2
1.1.3 驱动程序的作用 3
1.2 Linux设备驱动 3
1.2.1 Linux设备驱动程序的分类及特点 3
1.2.2 Linux设备驱动程序与整个软件系统的关系 4
1.3 Linux设备驱动程序开发技术的学习方法 5
习题1 5
第2章 Linux基本操作 6
2.1 Linux常用命令 6
2.1.1 文件及目录操作命令 6
2.1.2 显示命令 11
2.1.3 文件压缩及解压命令 11
2.1.4 网络命令 13
2.1.5 改变文件访问权限的命令 14
2.1.6 帮助命令 15
2.1.7 安装卸载文件系统命令 15
2.2 Linux基本编程 17
2.2.1 emacs编辑器 17
2.2.2 使用gcc编译程序 19
2.2.3 make命令 21
2.2.4 描述文件 22
习题2 24
第3章 嵌入式Linux驱动程序开发环境的建立 25
3.1 交叉编译环境的建立 25
3.2 超级终端的配置 26
3.3 文件共享的配置 27
3.3.1 配置防火墙 28
3.3.2 配置samba使Windows与Linux共享 29
3.3.3 配置NFS使宿主机Linux与目标机Linux共享 31
习题3 33
第4章 Linux设备驱动内核基础 34
4.1 Linux设备的表示 34
4.2 设备文件系统(devfs) 34
4.3 模块 36
4.4 I/O端口的访问 38
4.5 中断管理 39
4.5.1 中断的注册 39
4.5.2 中断的释放 39
4.5.3 中断处理例程 40
4.5.4 中断的禁止和使能 40
4.6 设备驱动程序中的并发控制 41
4.6.1 信号量的初始化 41
4.6.2 信号量的申请 42
4.6.3 信号量的释放 42
4.7 内核空间和用户空间数据复制 42
4.8 使用printk()函数调试设备驱动程序 43
习题4 43
第5章 字符设备驱动程序 44
5.1 有关字符设备的数据结构 44
5.1.1 file_operations结构 44
5.1.2 file结构 45
5.1.3 chrdevs数组 46
5.2 字符设备驱动程序的设计 47
5.2.1 字符设备驱动程序的组成 47
5.2.2 file_operations结构体变量 47
5.2.3 字符设备驱动程序的加载及卸载函数 48
5.2.4 字符设备驱动程序的接口函数 48
5.3 访问字符设备的系统调用 49
5.3.1 open()函数和create()函数 50
5.3.2 close()函数 51
5.3.3 read()函数 51
5.3.4 write()函数 52
5.3.5 应用举例 52
5.4 内核访问字符设备驱动程序的流程 53
5.4.1 open()系统调用的执行流程 53
5.4.2 read()和write()系统调用的执行流程 53
5.4.3 close()系统调用的执行流程 54
5.5 字符设备驱动程序示例:虚拟字符设备驱动程序 54
5.5.1 虚拟字符设备驱动程序代码 55
5.5.2 测试程序代码 57
5.5.3 虚拟字符设备驱动程序的编译 58
5.5.4 虚拟字符设备驱动程序的测试 59
习题5 59
第6章 字符设备驱动程序实例:S3C2410.ADC驱动程序 60
6.1 S3C2410X的ADC概述 60
6.1.1 S3C2410X ADC的转换频率及转换时间 60
6.1.2 S3C2410X与A/D转换有关的寄存器 60
6.2 S 3C2410X的ADC驱动程序设计 61
6.2.1 ADC驱动程序需要包含的头文件 62
6.2.2 ADC驱动程序的file_operations结构体变量 62
6.2.3 ADC驱动程序的加载函数 62
6.2.4 ADC驱动程序的卸载函数 63
6.2.5 ADC驱动程序的接口函数 64
6.2.6 ADC中断处理函数 66
6.3 ADC驱动程序的编译及测试 66
6.3.1 测试程序 66
6.3.2 ADC驱动程序的编译 67
6.3.3 ADC驱动程序的测试 68
习题6 69
第7章 块设备驱动程序 70
7.1 有关块设备的数据结构 70
7.1.1 block device operations结构 70
7.1.2 gendisk结构 71
7.1.3 request queue结构 72
7.1.4 buffer_head结构 72
7.1.5 request结构 73
7.2 块设备驱动程序的设计 74
7.2.1 块设备驱动程序的组成 74
7.2.2 文件包含与宏定义 74
7.2.3 block device operations结构体变量 75
7.2.4 块设备驱动程序的接口函数 75
7.2.5 块设备驱动程序的request()函数 79
7.2.6 块设备驱动的加载函数 80
7.2.7 块设备驱动的卸载函数 84
7.3 块设备驱动程序示例:虚拟块设备驱动程序 85
7.3.1 虚拟块设备驱动程序代码 86
7.3.2 虚拟块设备驱动程序的编译 89
7.3.3 虚拟块设备驱动程序的测试 90
习题7 91
第8章 块设备驱动程序实例:SD卡驱动程序 92
8.1 SD卡功能概述 92
8.1.1 总线协议 92
8.1.2 SD卡的引脚 92
8.1.3 SD卡的命令 92
8.1.4 SD卡的响应 96
8.1.5 SD卡的寄存器 97
8.1.6 SD卡的状态及操作模式 101
8.2 S3C2410X SDI接口概述 103
8.2.1 SDI寄存器 103
8.2.2 SDI的初始化 106
8.2.3 SD卡命令的发送 107
8.2.4 数据的读写 107
8.3 基于S3C2410X的SD卡驱动程序设计 107
8.3.1 SD卡驱动程序的加载函数 107
8.3.2 SD卡驱动程序的卸载函数 111
8.3.3 SD卡驱动程序的接口函数 111
8.3.4 SD卡驱动程序的request()函数 111
8.4 SD卡驱动程序的编译及测试 122
8.4.1 SD卡驱动程序的编译 122
8.4.2 SD卡驱动程序的测试 123
习题8 123
第9章 网络设备驱动程序 124
9.1 有关网络设备的数据结构 124
9.1.1 net_device结构体 124
9.1.2 sk_buff结构体 130
9.2 网络设备驱动程序开发常用的内核函数 134
9.2.1 sk_buff结构操作函数 134
9.2.2 内存申请和释放函数 136
9.2.3 网络驱动程序注册和解除注册函数 136
9.2.4 以太网设备通用初始化函数 136
9.2.5 发送队列的启动、唤醒及停止函数 137
9.2.6 查询网络设备是否在运行的函数 137
9.2.7 向上层传递数据包的函数 137
9.3 网络设备驱动程序的设计 137
9.3.1 网络设备驱动程序的组成 137
9.3.2 网络设备驱动程序的加载函数 138
9.3.3 网络设备驱动程序的卸载函数 139
9.3.4 网络设备驱动程序的接口函数 139
9.3.5 网卡中断处理程序 141
9.4 网络设备驱动程序示例:虚拟网络设备驱动程序 142
9.4.1 虚拟网络设备驱动程序代码 142
9.4.2 虚拟网络设备驱动程序的编译 144
9.4.3 虚拟网络设备驱动程序的测试 145
习题9 146
第10 章网络设备驱动程序实例:AX88796驱动程序 147
10.1 AX88796芯片与CPU的接口 147
10.1.1 AX88796与CPU的接口信号 147
10.1.2 S3C2410 CPU与AX88796接口的信号 148
10.1.3 S3C2410 CPU与网卡芯片接口相关的寄存器 149
10.1.4 UP-NETARM 2410-S中AX88796与S3C2410 CPU的连接 151
10.2 AX88796 MAC核心寄存器 152
10.2.1 MAC核心寄存器概述 152
10.2.2 常用的MAC核心寄存器 154
10.3 AX88796芯片的缓冲区操作 157
10.3.1 数据包的接收 157
10.3.2 数据包的发送 160
10.3.3 填充数据包到发送缓冲区以及从接收缓冲区环移走数据包 161
10.4 AX88796驱动程序设计 162
10.4.1 AX88796.h 162
10.4.2 AX88796驱动程序的加载函数 165
10.4.3 AX88796驱动程序的卸载函数 165
10.4.4 AX88796驱动程序的接口函数 165
10.4.5 AX88796驱动程序的中断处理程序 169
10.5 AX88796驱动程序的编译及测试 173
10.5.1 AX88796网络驱动程序的编译 173
10.5.2 AX88796驱动程序的测试 174
习题10 175
参考文献 176
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《物联网与嵌入式技术及其在农业上的应用》马德新 2019
- 《CINEMA 4D新手快速进阶实例教学 商迪》商迪 2020
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《主题公园开发与管理》梁增贤编著 2019
- 《中南高校档案文化资源开发综合研究》涂上飙 2019
- 《普通高等职业教育计算机系列规划教材 Android Studio移动应用开发基础》(中国)吴绍根 2019
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《Dreamweaver CC 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