下载 >  开发技术 >  C > Linux设备驱动程序第三版.pdf

Linux设备驱动程序第三版.pdf 评分:

目录 1. Linux 设备驱动第三版 .................................................................................................................... 5 2. 第 1 章 设备驱动简介 .............................................................................................................. 15 2.1 1.1. 驱动程序的角色 ................................................ ......................................................... 17 2.2 1.2. 划分内核 ..................................................................................................................... 17 2.3 1.3. 设备和模块的分类 ..................................................................................................... 20 2.4 1.4. 安全问题 ..................................................................................................................... 21 2.5 1.5. 版本编号 ..................................................................................................................... 23 2.6 1.6. 版权条款 ..................................................................................................................... 24 2.7 1.7. 加入内核开发社团 ..................................................................................................... 25 2.8 1.8. 本书的内容 ................................................................................................................. 25 3. 第 2 章 建立和运行模块 .......................................................................................................... 26 3.1 2.1. 设置你的测试系统 ..................................................................................................... 28 3.2 2.2. Hello World 模块 ......................................................................................................... 28 3.3 2.3. 内核模块相比于应用程序 ......................................................................................... 30 3.4 2.4. 编译和加载 ................................................................................................................. 34 3.5 2.5. 内核符号表 ................................................................................................................. 39 3.6 2.6. 预备知识 ..................................................................................................................... 40 3.7 2.7. 初始化和关停 ............................................................................................................. 41 3.8 2.8. 模块参数 ..................................................................................................................... 46 3.9 2.9. 在用户空间做 ............................................................................................................. 48 3.10 2.10. 快速参考 ................................................................................................................. 50 4. 第 3 章 字符驱动 ...................................................................................................................... 52 4.1 3.1. scull 的设计 ................................................................................................................. 54 4.2 3.2. 主次编号 ..................................................................................................................... 54 4.3 3.3. 一些重要数据结构 ..................................................................................................... 59 4.4 3.4. 字符设备注册 ............................................................................................................. 66 4.5 3.5. open 和 release .......................................................................................................... 69 4.6 3.6. scull 的内存使用 ......................................................................................................... 72 4.7 3.7. 读和写 ......................................................................................................................... 74 4.8 3.8. 使用新设备 ................................................................................................................. 82 4.9 3.9. 快速参考 ..................................................................................................................... 82 5. 第 4 章 调试技术 ...................................................................................................................... 84 5.1 4.1. 内核中的调试支持 ..................................................................................................... 87 5.2 4.2. 用打印调试 ................................................................................................................. 87 5.3 4.3. 用查询来调试 ............................................................................................................. 94 5.4 4.4. 使用观察来调试 ....................................................................................................... 103 5.5 4.5. 调试系统故障 ........................................................................................................... 105 5.6 4.6. 调试器和相关工具 ................................................................................................... 111 6. 第 5 章 并发和竞争情况 ........................................................................................................ 118 6.1 5.1. scull 中的缺陷 ........................................................................................................... 119 Linux 设备驱动 第三版 - [JJJ] 2 6.2 5.2. 并发和它的管理 ....................................................................................................... 119 6.3 5.3. 旗标和互斥体 ........................................................................................................... 121 6.4 5.4. Completions 机制 ...................................................................................................... 126 6.5 5.5. 自旋锁 ....................................................................................................................... 128 6.6 5.6. 锁陷阱 ....................................................................................................................... 133 6.7 5.7. 加锁的各种选择 ....................................................................................................... 135 6.8 5.8. 快速参考 ................................................................................................................... 142 7. 第 6 章 高级字符驱动操作 .................................................................................................... 146 7.1 6.1. ioctl 接口 ................................................................................................................... 159 7.2 6.2. 阻塞 I/O .................................................................................................................... 159 7.3 6.3. poll 和 select ............................................................................................................. 175 7.4 6.4. 异步通知 ................................................................................................................... 181 7.5 6.5. 移位一个设备 ........................................................................................................... 184 7.6 6.6. 在一个设备文件上的存取控制 ............................................................................... 186 7.7 6.7. 快速参考 ................................................................................................................... 193 8. 第 7 章 时间, 延时, 和延后工作 .......................................................................................... 196 8.1 7.1. 测量时间流失 ........................................................................................................... 202 8.2 7.2. 获知当前时间 ........................................................................................................... 202 8.3 7.3. 延后执行 ................................................................................................................... 204 8.4 7.4. 内核定时器 ............................................................................................................... 210 8.5 7.5. Tasklets 机制.............................................................................................................. 216 8.6 7.6. 工作队列 ................................................................................................................... 219 8.7 7.7. 快速参考 ................................................................................................................... 223 9. 第 8 章 分配内存 .................................................................................................................... 227 9.1 8.1. kmalloc 的真实故事 .................................................................................................. 232 9.2 8.2. 后备缓存 ................................................................................................................... 232 9.3 8.3. get_free_page 和其友 ............................................................................................... 237 9.4 8.4. 每-CPU 的变量 ......................................................................................................... 243 9.5 8.5. 获得大量缓冲 ........................................................................................................... 246 9.6 8.6. 快速参考 ................................................................................................................... 247 10. 第 9 章 与硬件通讯 .............................................................................................................. 250 10.1 9.1. I/O 端口和 I/O 内存 .............................................................................................. 254 10.2 9.2. 使用 I/O 端口 ........................................................................................................ 254 10.3 9.3. 一个 I/O 端口例子 ................................................................................................ 260 10.4 9.4. 使用 I/O 内存 ........................................................................................................ 264 10.5 9.5. 快速参考 ................................................................................................................. 271 11. 第 10 章 中断处理 ................................................................................................................ 273 11.1 10.1. 准备并口 ............................................................................................................... 275 11.2 10.2. 安装一个中断处理 ............................................................................................... 275 11.3 10.3. 前和后半部 ........................................................................................................... 291 11.4 10.4. 中断共享 ............................................................................................................... 294 11.5 10.5. 中断驱动 I/O ........................................................................................................ 297 11.6 10.6. 快速参考 ............................................................................................................... 302 12. 第 11 章 内核中的数据类型 ................................................................................................ 304 Linux 设备驱动 第三版 - [JJJ] 3 12.1 11.1. 标准 C 类型的使用 ............................................................................................. 306 12.2 11.2. 安排一个明确大小给数据项 ............................................................................... 306 12.3 11.3. 接口特定的类型 ................................................................................................... 307 12.4 11.4. 其他移植性问题 ................................................................................................... 308 12.5 11.5. 链表 ....................................................................................................................... 312 12.6 11.6. 快速参考 ............................................................................................................... 316 13. 第 12 章 PCI 驱动 ................................................................................................................. 318 13.1 12.1. PCI 接口 ................................................................................................................. 335 13.2 12.2. 回顾: ISA ................................................................................................................ 335 13.3 12.3. PC/104 和 PC/104+ ............................................................................................... 337 13.4 12.4. 其他的 PC 总线 ................................................................................................... 338 13.5 12.5. SBus ........................................................................................................................ 339 13.6 12.6. NuBus 总线 ............................................................................................................ 340 13.7 12.7. 外部总线 ............................................................................................................... 340 13.8 12.8. 快速参考 ............................................................................................................... 340 14. 第 13 章 USB 驱动 ............................................................................................................... 342 14.1 13.1. USB 设备基础知识 ................................................................................................ 348 14.2 13.2. USB 和 sysfs .......................................................................................................... 348 14.3 13.3. USB 的 Urbs .......................................................................................................... 350 14.4 13.4. 编写一个 USB 驱动 ............................................................................................. 362 14.5 13.5. 无 urb 的 USB 传送 ........................................................................................... 373 14.6 13.6. 快速参考 ............................................................................................................... 377 15. 第 14 章 Linux 设备模型 ...................................................................................................... 379 15.1 14.1. Kobjects, Ksets 和 Subsystems ............................................................................. 390 15.2 14.2. 低级 sysfs 操作 .................................................................................................... 390 15.3 14.3. 热插拔事件产生 ................................................................................................... 394 15.4 14.4. 总线, 设备, 和驱动 ............................................................................................. 396 15.5 14.5. 类 ........................................................................................................................... 407 15.6 14.6. 集成起来 ............................................................................................................... 412 15.7 14.7. 热插拔 ................................................................................................................... 418 15.8 14.8. 处理固件 ............................................................................................................... 426 15.9 14.9. 快速参考 ............................................................................................................... 428 16. 第 15 章 内存映射和 DMA .................................................................................................. 432 16.1 15.1. Linux 中的内存管理 .............................................................................................. 442 16.2 15.2. mmap 设备操作 .................................................................................................... 442 16.3 15.3. 进行直接 I/O ........................................................................................................ 455 16.4 15.4. 直接内存存取 ....................................................................................................... 461 16.5 15.5. 快速参考 ............................................................................................................... 480 17. 第 16 章 块驱动 .................................................................................................................... 485 17.1 16.1. 注册 ....................................................................................................................... 492 17.2 16.2. 块设备操作 ........................................................................................................... 492 17.3 16.3. 请求处理 ............................................................................................................... 496 17.4 16.4. 一些其他的细节 ................................................................................................... 514 17.5 16.5. 快速参考 ............................................................................................................... 516 Linux 设备驱动 第三版 - [JJJ] 4 18. 第 17 章 网络驱动 ................................................................................................................ 520 18.1 17.1. snull 是如何设计的 ............................................................................................... 526 18.2 17.2. 连接到内核 ........................................................................................................... 529 18.3 17.3. net_device 结构的详情 ........................................................................................ 533 18.4 17.4. 打开与关闭 ........................................................................................................... 542 18.5 17.5. 报文传送 ............................................................................................................... 544 18.6 17.6. 报文接收 ............................................................................................................... 549 18.7 17.7. 中断处理 ............................................................................................................... 551 18.8 17.8. 接收中断缓解 ....................................................................................................... 553 18.9 17.9. 连接状态的改变 ................................................................................................... 556 18.10 17.10. Socket 缓存........................................................................................................ 557 18.11 17.11. MAC 地址解析 .................................................................................................. 561 18.12 17.12. 定制 ioctl 命令 ................................................................................................ 563 18.13 17.13. 统计信息 ........................................................................................................... 564 18.14 17.14. 多播 ................................................................................................................... 566 18.15 17.15. 几个其他细节 ................................................................................................... 569 18.16 17.16. 快速参考 ........................................................................................................... 571 19. 第 18 章 TTY 驱动 ................................................................................................................ 574 19.1 18.1. 一个小 TTY 驱动 ................................................................................................. 583 19.2 18.2. tty_driver 函数指针 .............................................................................................. 583 19.3 18.3. TTY 线路设置 ........................................................................................................ 590 19.4 18.4. ioctls 函数 .............................................................................................................. 594 19.5 18.5. TTY 设备的 proc 和 sysfs 处理 .......................................................................... 598 19.6 18.6. tty_driver 结构的细节 .......................................................................................... 599 19.7 18.7. tty_operaions 结构的细节 .................................................................................... 601 19.8 18.8. tty_struct 结构的细节 .......................................................................................... 604 19.9 18.9. 快速参考 ............................................................................................................... 606
...展开详情收缩
2011-09-06 上传大小:4.16MB
想读
分享
收藏 (40) 举报
Linux设备驱动程序(中文版 文字版 第三版).pdf

前言 第一章 设备驱动程序简介 设备驱动程序的作用 内核功能划分 设备和模块的分类 安全问题 版本编号 许可证条款 加入内核开发社团 本书概要 第二章 构造和运行模块 设置测试系统 Hello world模块 核心模块与应用程序的对比 编译和装载 内核符号表 预备知识 初始化和关闭 模块参数 在用户空间编写驱动程序 快速参考 第三章 字符设备驱动程序 scull的设计 主设备号和次设备号 一些重要的数据结构 字符设备的注册 open和release scull的内存使用 read和write 试试新设备 快速参考 第四章 调试技术 内核中的调试支持 通过打印调试 通过查询调试 通过监视调试 调

立即下载
Linux程序设计(第4版).pdf免费资源下载链接,Linux程序设计第四版.pdf
《深入Linux设备驱动程序内核机制 陈学松》pdf 附下载链接
Linux设备驱动程序(中文版第三版).pdf

Linux设备驱动程序第三版 本书指导你如何编写你自己的驱动, 以及如何利用内核相关的部分. 我们采用一种设备-独立的方法; 编程技术和接口, 在任何可能的时候, 不会捆绑到任何特定的设备. 每一个驱动都是不同的; 作为一个 驱动编写者, 你需要深入理解你的特定设备. 但是大部分的原则和基本技术对所有驱动都是一样的. 本 书无法教你关于你的设备的东西, 但是它给予你所需要的使你的设备运行起来的背景知识的指导.

立即下载
一些linux资源
电子书 Linux设备驱动开发详解:基于最新的Linux 4.0内核.pdf
Linux设备驱动程序(中文版第三版)高清pdf

Linux设备驱动程序(中文版第三版)高清pdf Linux设备驱动程序(中文版第三版)高清pdf Linux设备驱动程序(中文版第三版)高清pdf

立即下载
LINUX设备驱动程序 第三版 PDF

本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。

立即下载
LINUX设备驱动程序第三版.pdf,linux设备驱动程序第3版.pdf免费下载链接,学习资源下载
鸟哥的Linux私房菜-基础篇第四版.pdf免费资源下载链接,《鸟哥的Linux私房菜-基础篇》第四版.pdf
Linux设备驱动程序(LDD)第三版英文PDF(附书中源码)

国外经典Linux驱动书籍《Linux设备驱动程序(LDD)第三版英文PDF》,高清PDF并附有书中源码!

立即下载
Linux设备驱动程序第三版(文字版+书签).pdf

Linux设备驱动程序第三版(文字版+书签).pdf

立即下载
分享《Linux设备驱动开发详解》第2版高清电子版
linux设备驱动程序(第三版)阅读笔记(六)
linux设备驱动程序开发 第四版 源码

经典linux驱动程序开发 第四版的配套代码可以下载了,如果有什么问题,欢迎反馈

立即下载
《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

Linux设备驱动程序第三版.pdf

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
50 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: