图书介绍

Linux驱动程序开发实例【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Linux驱动程序开发实例
  • 冯国进编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111333159
  • 出版时间:2011
  • 标注页数:366页
  • 文件大小:250MB
  • 文件页数:376页
  • 主题词:Linux操作系统-程序设计

PDF下载


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

下载说明

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

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

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

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

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

图书目录

第1章Linux设备驱动程序模型1

1.1设备驱动程序基础1

1.1.1驱动程序的概念1

1.1.2驱动程序的加载方式2

1.1.3编写可加载模块3

1.1.4带参数的可加载模块5

1.1.5设备驱动程序的分类6

1.2字符设备驱动程序原理7

1.2.1 file_operations结构7

1.2.2使用register chrdev注册字符设备9

1.2.3使用cdev_add注册字符设备11

1.2.4字符设备的读写13

1.2.5 ioctl接口14

1.2.6 seek接口16

1.2.7 poll接口18

1.2.8异步通知22

1.3 proc文件系统24

1.3.1 proc文件系统概述24

1.3.2 seq_file机制25

1.3.3使用proc文件系统27

1.4块设备驱动程序32

1.4.1 Linux块设备驱动程序原理32

1.4.2简单的块设备驱动程序实例35

1.5网络设备驱动程序39

1.5.1网络设备的特殊性39

1.5.2 sk_buff结构40

1.5.3 Linux网络设备驱动程序架构42

1.5.4虚拟网络设备驱动程序实例46

1.6 Linux 2.6设备管理机制50

1.6.1 kobject和kset50

1.6.2 sysfs文件系统51

1.6.3设备模型层次52

1.6.4 platfonm的概念54

第2章Linux内核同步机制58

2.1锁机制58

2.1.1自旋锁58

2.1.2读写锁60

2.1.3 RCU61

2.2互斥64

2.2.1原子操作64

2.2.2信号量65

2.2.3读写信号量67

2.3等待队列68

2.3.1等待队列原理68

2.3.2阻塞式I/O实例68

2.3.3完成事件70

2.4关闭中断71

第3章 内存管理与链表72

3.1物理地址和虚拟地址72

3.2内存分配与释放72

3.3 IO端口到虚拟地址的映射73

3.3.1静态映射73

3.3.2动态映射75

3.4内核空间到用户空间的映射76

3.4.1内核空间到用户空间的地址映射原理76

3.4.2 mmap地址映射实例78

3.5内核链表80

3.5.1 Linux内核中的链表80

3.5.2内核链表实例81

第4章 延迟处理83

4.1内核线程83

4.2软中断机制85

4.2.1软中断原理85

4.2.2 tasklet87

4.3工作队列89

4.3.1工作队列原理89

4.3.2工作队列实例91

4.4内核时间92

4.4.1 Linux中的时间概念92

4.4.2 Linux中的延迟93

4.4.3内核定时器93

第5章 简单设备驱动程序96

5.1寄存器访问96

5.1.1 S3C6410地址映射96

5.1.2 S3C6410看门狗驱动程序实例98

5.1.3 S3C6410蜂鸣器驱动程序实例102

5.2电平控制107

5.2.1 S3C6410 LED驱动程序实例107

5.2.2扫描型S3C6410按键驱动程序实例109

5.3时序产生112

5.3.1时序图原理112

5.3.2 AT24C02芯片原理112

5.3.3 AT24C02驱动程序开发实例115

5.4硬中断处理123

5.4.1硬中断处理原理123

5.4.2中断型S3C6410按键驱动程序实例127

5.5 Linux I/O端口控制132

5.5.1 Linux I/O端口读写132

5.5.2在应用层访问Linux I/O端口133

5.5.3 /dev/port设备134

第6章 深入 Linux内核135

6.1嵌入式Linux系统构成135

6.2 Linux内核导读136

6.2.1 Linux内核组成136

6.2.2 Linux的代码结构137

6.2.3内核Makefile138

6.2.4 S3C6410硬件初始化139

6.3 Linux文件系统141

6.3.1虚拟文件系统141

6.3.2根文件系统143

6.3.3文件系统加载143

6.3.4 ext3文件系统145

6.4 Flash文件系统145

6.4.1 MTD设备145

6.4.2 MTD字符设备148

6.4.3 MTD块设备150

6.4.4 cramfs文件系统153

6.4.5 JFFS2文件系统153

6.4.6 YAFFS文件系统155

6.4.7文件系统总结156

6.5 Linux内核移植156

6.5.1体系配置156

6.5.2添加yaffs2157

6.5.3 Nand flash驱动程序移植157

6.5.4配置启动参数159

6.5.5移植RTC驱动程序160

6.6根文件系统制作162

6.6.1 Busybox162

6.6.2 shell基础165

6.6.3根文件系统构建实例166

6.7 udev模型167

6.7.1 udev模型原理167

6.7.2 mdev的使用167

第7章I2C总线驱动程序169

7.1 Linux的I2C驱动程序架构169

7.1.1 I2C适配器169

7.1.2 I2C算法170

7.1.3 I2C 驱动程序结构170

7.1.4 I2C从设备171

7.1.5 i2c-dev设备层171

7.2 Linux I2C驱动程序开发174

7.2.1 S3C2410X的I2C控制器174

7.2.2 S3C2410X的I2C驱动程序分析175

7.3 S3C2410的I2C访问实例182

7.4 I2C客户端驱动程序185

第8章 TTY与串口驱动程序190

8.1 TTY概念190

8.2 Linux TTY驱动程序体系190

8.2.1 TTY驱动程序调用关系190

8.2.2 TTY驱动程序原理191

8.3线路规程194

8.4串口驱动程序与TTY196

8.4.1串口设备驱动程序原理196

8.4.2 S3C6410的串口驱动程序实例199

8.5 TTY应用层202

第9章 网络设备驱动程序205

9.1 DM9000网卡驱动程序开发205

9.1.1 DM9000原理205

9.1.2 DM9000X驱动程序分析207

9.1.3 DM9000网口驱动程序移植215

9.2 NFS根文件系统搭建219

9.2.1主机配置219

9.2.2 NFS根文件系统搭建实例220

9.3 netlink Socket224

9.3.1 netlink机制224

9.3.2 netlink应用层编程228

9.3.3 netlink驱动程序实例229

第10章framebuffer驱动程序232

10.1 Linux framebuffer驱动程序原理232

10.1.1 framebuffer核心数据结构232

10.1.2 framebuffer操作接口234

10.1.3 framebuffer驱动程序的文件接口236

10.1.4 framebuffer驱动程序框架236

10.2 S3C6410显示控制器238

10.3 S3C6410 LCD驱动程序实例243

10.4 framebuffer应用层250

10.5 Qt4界面系统移植251

第11章 输入子系统驱动程序253

11.1 Linux输入子系统概述253

11.1.1 input dev结构253

11.1.2输入事件255

11.2 input handler256

11.2.1 Input Handler层256

11.2.2常用的Input Handler259

11.3输入设备应用层261

11.4键盘输入设备驱动程序实例262

11.5 event接口267

11.6触摸屏驱动程序实例270

11.6.1 S3C6410触摸屏控制器270

11.6.2 S3C6410触摸屏驱动程序设计273

11.7触摸屏校准282

11.7.1触摸屏校准原理282

11.7.2利用TSLIB库校准触摸屏282

第12章USB驱动程序284

12.1 USB体系概述284

12.1.1 USB系统组成284

12.1.2 USB主机284

12.1.3 USB设备逻辑层次285

12.2 Linux USB驱动程序体系287

12.2.1 USB总体结构287

12.2.2 USB设备驱动程序287

12.2.3主机控制器驱动程序288

12.2.4 USB请求块urb289

12.2.5 USB请求块的填充291

12.3 S3C6410 USB主机控制器驱动程序292

12.3.1 USB主机控制器驱动程序分析292

12.3.2 S3C6410 USB驱动程序加载294

12.4 USB键盘设备驱动程序分析296

12.5 USB Gadget驱动程序301

12.5.1 Linux USB Gadget驱动程序301

12.5.2 Linux USB Gadget驱动程序实例302

第13章 音频设备驱动程序303

13.1 ALSA音频体系303

13.2 ALSA驱动层API304

13.2.1声卡和设备管理304

13.2.2 PCM API304

13.2.3控制与混音API305

13.2.4 AC97 API306

13.2.5 SOC层驱动307

13.3 ALSA驱动程序实例308

13.3.1 S3C6410的AC97控制单元308

13.3.2 S3C6410声卡电路原理309

13.3.3 S3C6410的数字音频接口310

13.3.4 wm9713的数字音频接口313

13.4 ALSA音频编程接口316

13.4.1 ALSA PCM接口实例316

13.4.2 ALSA MIDI接口实例320

13.4.3 ALSA mixer接口实例321

13.4.4 ALSA timer接口实例322

第14章video4linux2视频驱动程序327

14.1 video4linux2驱动程序架构327

14.1.1 video4linux2驱动程序的注册327

14.1.2 v412_fops接口33

14.1.3常用的结构332

14.1.4 video4linux2的ioctl函数333

14.2 S3C6410摄像头驱动程序分析333

14.2.1电路原理333

14.2.2驱动程序分析334

14.3 video4linux2应用层实例339

第15章SD卡驱动程序346

15.1 Linux SD卡驱动程序体系346

15.1.1 SD卡电路原理346

15.1.2 MMC卡驱动程序架构347

15.1.3 MMC卡驱动程序相关结构347

15.1.4 MMC卡块设备驱动程序350

15.1.5 SD卡主机控制器接口驱动程序356

15.2 S3C6410 SD卡控制器驱动程序分析360

15.2.1电路原理360

15.2.2 S3C6410 SDHCI驱动程序原理360

15.2.3 SD卡的加载实例364

参考文献366

热门推荐