图书介绍

嵌入式Linux驱动程序开发实例教程pdf电子书版本下载

嵌入式Linux驱动程序开发实例教程
  • 张光建,刘政编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302260592
  • 出版时间:2011
  • 标注页数:176页
  • 文件大小:9MB
  • 文件页数:188页
  • 主题词:Linux操作系统-程序设计-高等学校-教材

PDF下载


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

下载说明

嵌入式Linux驱动程序开发实例教程PDF格式电子书版下载

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

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

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

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

图书目录

第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

精品推荐