当前位置:首页 > 工业技术
ARM嵌入式Linux设备驱动实例开发
ARM嵌入式Linux设备驱动实例开发

ARM嵌入式Linux设备驱动实例开发PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:李亚锋编著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2008
  • ISBN:7508374355
  • 页数:245 页
图书介绍:本书是《ARM嵌入式Linux系统开发丛书》》之一。Linux是一个成熟而稳定的开放源代码操作系统,将Linux植入嵌入式设备具有众多的优点。本书以应用最广泛的新一代ARM9处理器为对象,专门分析Linux系统下设备驱动的设计和实现方法。本书以八个典型实例为研究对象,讲述基于Linux 2.6.20内核的设备驱动开发过程。这些实例几乎覆盖了Linux系统下常见的设备类型,其中包括按键设备、触摸屏、MMC/SD、网卡、Framebuffer、USB和PCI设备等,本书提供了实例的所有源代码,便于读者分析和学习。
《ARM嵌入式Linux设备驱动实例开发》目录

第1章 嵌入式Linux设备驱动开发基础 1

1.1设备驱动介绍 2

1.1.1 Linux设备驱动 2

1.1.2 Linux设备驱动分类 2

1.2设备驱动相关的重要概念 4

1.2. 1 Linux中断 4

1.2.2内存与I/O端口 6

1.2.3并发控制 10

1.2.4阻塞(Blocking)与非阻塞(Nonblocking) 14

1.3运行和编译设备驱动模块 15

1.3.1编写Hello World设备模块 15

1.3.2编写Makefile 16

1.3.3加载和卸载模块 18

1.4 ARM处理器 19

1.4.1 ARM处理器简介 19

1.4.2 ARM处理器的选型 20

1.4.3 S3C2410简介 21

1.5 LJD-2410DVK-I开发板 22

1.5.1开发板简介 22

1.5.2硬件资源 24

1.5.3软件资源 25

1.6小结 25

第2章 按键设备驱动程序 27

2.1按键设备模块硬件接口和寄存器 28

2.1.1按键设备模块硬件接口电路 28

2.1.2按键设备模块相关寄存器 29

2.2按键设备模块驱动程序 32

2.2.1字符设备相关的数据结构 33

2.2.2按键设备模块驱动程序分析 39

2.2.3按键设备驱动测试 48

2.3小结 49

第3章 触摸屏设备驱动程序 51

3.1触摸屏设备简介 52

3.1.1四线电阻式触摸屏工作原理 52

3.1.2 S3C2410触摸屏接口原理 52

3.2触摸屏设备接口电路与寄存器 54

3.2.1触摸屏接口电路 54

3.2.2触摸屏与ADC接口寄存器 55

3.3触屏设备驱动程序分析 57

3.3.1初始化和退出函数 58

3.3.2 probe函数 59

3.3.3中断处理函数 62

3.3.4 remove函数 66

3.4测试和编译触摸屏设备驱动 67

3.5小结 69

第4章MMC/SD卡设备驱动程序 71

4.1 MMC/SD卡 72

4.1.1 MMC简介 72

4.1.2 SD卡简介 73

4.2 MMC/SD卡设备接口 74

4.2.1 S3C2410的SDI 74

4.2.2 SDI的相关寄存器 75

4.2.3 MMC/SD与主机的接口电路 79

4.3 MMC/SD卡设备驱动程序分析 79

4.3.1 MMC/SD设备驱动框架 79

4.3.2 MMC/SD设备驱动分析 80

4.4测试和编译MMC/SD卡驱动程序 98

4.5小结 101

第5章 网卡设备驱动程序 103

5.1网络设备驱动介绍 104

5.1.1驱动程序体系结构 104

5.1.2网络设备相关的数据结构 105

5.2 CS8900A网卡设备 109

5.2.1 CS8900A芯片简介 109

5.2.2 CS8900A的系统应用 110

5.2.3 CS8900A网卡接口电路 111

5.3 CS8900A网卡设备驱动程序分析 112

5.3.1初始化 112

5.3.2打开和关闭 117

5.3.3中断处理 120

5.3.4发送数据 122

5.3.5接收数据 124

5.4测试和编译CS8900A网卡驱动程序 126

5.5小结 129

第6章Framebuffer设备驱动程序 131

6.1 Framebuffer介绍 132

6.1.1 Framebuffer显卡技术 132

6.1.2 Framebuffer的工作原理 133

6.1.3常见的显示设备 134

6.2 Framebuffer内部API 136

6.2.1重要的数据结构 136

6 2.2 Framebuffer操作 139

6.3 S3C2410 LCD控制器驱动程序实现 141

6.3.1 LCD控制器功能 141

6.3.2 LCD控制器驱动程序分析 142

6.4编译和测试LCD设备驱动程序 146

6.5小结 148

第7章USB设备驱动程序 149

7.1 USB简介 150

7.1.1 USB总线特点 150

7.1.2 USB通信技术 151

7.1.3 USB传输方式 151

7.2 USB驱动 152

7.2.1 USB主机驱动 152

7.2.2 USB Hub驱动 154

7.2.3 USB设备驱动 156

7.3 USB主控制器驱动与设备驱动分析 157

7.3.1 USB主控制器驱动程序分析 157

7.3.2 USB设备驱动程序分析 163

7.4小结 172

第8章NAND Flash设备驱动程序 173

8.1 NAND Flash简介 174

8.1.1 NAND Flash工作原理 174

8.1.2 NAND Flash与Nor Flash区别 176

8.1.3常见的Flash存储器 177

8.2 MTD设备驱动介绍 178

8.2.1重要的数据结构 179

8.2.2 API函数 185

8.3 S3C2410 NAND Flash控制器驱动程序分析 187

8.3.1 probe函数 188

8.3.2 remove函数 192

8.3.3 ECC相关函数 193

8.4 fdisk分区 195

8.4.1 fdisk命令 195

8.4.2创建分区 196

8.5小结 199

第9章PCI设备驱动程序 201

9.1 PCI简介 202

9.1.1 PCI总线体系结构 202

9.1.2 PCI总线体系典型应用 203

9.2 PCI设备驱动 204

9.2.1在Linux系统中查看PCI设备 204

9.2.2核心的数据结构 205

9.2.3关键的API 208

9.3 PCI设备驱动程序分析 209

9.3.1初始化 209

9.3.2移除PCI设备 216

9.3.3停止PCI设备 218

9.3.4 PCI设备的错误处理 219

9.4小结 219

第10章 调试技术 221

10.1打印调试 222

10.1.1 printk函数 222

10.1.2消息记录 223

10.1.3打开和关闭消息 224

10.2查询调试 225

10.2.1 /proc文件系统 225

10.2.2 ioctl调试 231

10.2.3 sysfs文件系统 234

10.3常见的内核调试工具 235

10.3.1 GDB 235

10.3.2 KGDB 238

10.3.3 KDB 240

10.3.4 strace 241

10.3. 5 OOPS 243

10.4小结 244

参考文献 245

相关图书
作者其它书籍
返回顶部