精通Linux设备驱动程序开发

精通Linux设备驱动程序开发
7.7
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [印]
出版社: 人民邮电出版社
2010-06
版次: 1
ISBN: 9787115221674
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 468页
字数: 753千字
正文语种: 简体中文
原版书名: Essential Linux Device Drivers
  •   《精通Linux设备驱动程序开发》是Linux设备驱动程序开发领域的权威著作。全书基于2.6内核,不仅透彻讲解了基本概念和技术,更深人探讨了其他书没有涵盖或浅尝辄止的许多重要主题和关键难点,如PCMCIA、I2C和USB等外部总线以及视频、音频、无线连网和闪存等驱动程序的开发,并讲解了相关的内核源码文件,给出了完整的开发实例。
      《精通Linux设备驱动程序开发》适合中高级Linux开发人员阅读。   温卡特斯瓦兰(SreekrjshnanMenkateswaran),世界顶级Linux开发技术专家。在IBM工作多年。有丰富的嵌入式Linux和驱动程序开发经验。曾将Linux移植到了手表、音乐播放器、VolP电话、心脏起搏器以及远程门诊监控系统等设备上。目前是IBMI钱度公司的嵌入式解决方案组负责人。他曾担任LinuXMagazine的特邀编辑。主持内核技术专栏。 第1章引言
    1.1演进
    1.2GNUCopy1eft
    1.3kerne1.org
    1.4邮件列表和论坛
    1.5Linux发行版
    1.6查看源代码
    1.7编译内核
    1.8可加载的模块
    1.9整装待发

    第2章内核
    2.1启动过程
    2.1.1BIOS.pmvidedphysica1RAMmap
    2.1.2758MBLOWMEMavai1ab1e
    2.1.3Kerne1command1in:roroot=/dev/hda1
    2.1.4Ca1ibratingde1ayBogoMIPS(1pj=2394935)
    2.1.5CheckingHLTinstruction
    2.1.6NET:Registeredprotoco1fami1y2
    2.1.7Freeinginitrdmemory:387kfreed
    2.1.8ioschedu1eranticipatoryregistered(defau1t)
    2.1.9SettingupstandardPCIresources
    2.1.10EXT3-fs:mountedfi1esystem
    2.1.11INIT:version2.85booting
    2.2内核模式和用户模式
    2.3进程上下文和中断上下文
    2.4内核定时器
    2.4.1HZ和Jiffies
    2.4.2长延时
    2.4.3短延时
    2.4.4Pentium时间戳计数器
    2.4.5实时钟
    2.5内核中的并发
    2.5.1自旋锁和互斥体
    2.5.2原子操作
    2.5.3读一写锁
    2.5.4调试
    2.6proc文件系统
    2.7内存分配
    2.8查看源代码

    第3章内核组件
    3.1内核线程
    3.1.1创建内核线程
    3.1.2进程状态和等待队列
    3.1.3用户模式辅助程序
    3.2辅助接口
    3.2.1链表
    3.2.2散列链表
    3.2.3工作队列
    3.2.4通知链
    3.2.5完成接口
    3.2.6kthread辅助接口
    3.2.7错误处理助手
    3.3查看源代码

    第4章基本概念
    4.1设备和驱动程序介绍
    4.2中断处理
    4.2.1中断上下文
    4.2.2分配IRQ号
    4.2.3设备实例:导航杆
    4.2.4softirq和task1et
    4.3Linux设备模型
    4.3.1udev
    4.3.2sysfs、kobject和设备类
    4.3.3热插拔和冷插拔
    4.3.4微码下载
    4.3.5模块自动加载
    4.4内存屏障
    4.5电源管理
    4.6查看源代码

    第5章字符设备驱动程序
    5.1字符设备驱动程序基础
    5.2设备实例:系统CMOS
    5.2.1驱动程序初始化
    5.2.2打开与释放
    5.2.3数据交换
    5.2.4查找
    5.2.5控制
    5.3检测数据可用性
    5.3.1轮询
    5.3.2.Fasync
    5.4和并行端口交互
    5.5RTC子系统
    5.6伪字符驱动程序
    5.7混杂驱动程序
    5.8字符设备驱动程序注意事项
    5.9查看源代码

    第6章串行设备驱动程序
    6.1层次架构
    6.2UART驱动程序
    6.2.1设备实例:手机
    6.2.2RS.485
    6.3TTY驱动程序:
    6.4线路规程
    6.5查看源代码

    第7章输入设备驱动程序
    7.1输入事件驱动程序
    7.2输入设备驱动程序
    7.2.1ser1o
    7.2.2键盘
    7.2.3鼠标
    7.2.4触摸控制器
    7.2.5加速度传感器
    7.2.6输出事件
    7.3调试
    7.4查看源代码

    第8章I2C协议
    8.112C/SMBus是什么
    8.2I2C核心
    8.3总线事务
    8.4.设备实例:EEPROM
    8.4.1初始化
    8.4.2探测设备
    8.4.3检查适配器的功能
    8.4.4访问设备
    8.4.5其他函数
    8.5设备实例:实时时钟
    8.6i2c.dev
    8.7使用LM.Sensors监控硬件
    8.8SPI总线
    8.9Wire总线
    8.10调试
    8.11查看源代码

    第9章PCMCIA和CF
    9.1PCMCIA/CF是什么
    9.2Linux—PCMCIA子系统
    9.3主机控制器驱动程序
    9.4PCMCIA核心
    9.5驱动程序服务
    9.6客户驱动程序
    9.6.1数据结构
    9.6.2设备实例:PCMCIA卡
    9.7将零件组装在一起
    9.8PCMCIA存储
    9.9串行PCMCIA
    9.10调试
    9.11查看源代码

    第10章PCI
    10.1PCI系列
    10.2寻址和识别
    10.3访问PCI
    10.3.1配置区
    10.3.2I/O和内存
    10.4DMA
    10.5设备实例:以太网一调制解调器卡
    10.5.1初始化和探测
    10.5.2数据传输
    10.6调试
    10.7查看源代码

    第11章USB
    11.1I.ISB体系架构
    11.1.1总线速度
    11.1.2主机控制器
    11.1.3传输模式
    11.1.4寻址
    11.2Linux.USB子系统
    11.3驱动程序的数据结构
    11.3.1usb—device结构体
    11.3.2URB
    11.3.3管道
    11.3.4描述符结构
    11.4枚举
    11.5设备实例:遥测卡
    11.5.1初始化和探测过程
    11.5.2卡寄存器的访问
    11.5.3数据传输
    11.6类驱动程序
    11.6.1大容量存储设备
    11.6.2USB.串行端口转换器
    11.6.3人机接口设备
    11.6.4蓝牙
    11.7gadget驱动程序
    11.8调试
    11.9查看源代码

    第12章视频驱动程序
    12.1显示架构
    12.2Linux视频子系统
    12.3显示参数
    12.4帧缓冲API
    12.5帧缓冲驱动程序
    12.6控制台驱动程序
    12.6.1设备实例:手机
    12.6.2启动1ogo
    12.7调试
    12.8查看源代码

    第13章音频驱动程序
    13.1音频架构
    13.2Linux声音子系统,
    13.3设备实例:MP3播放器
    13.3.1驱动程序函数和结构体
    13.3.2ALSA编程
    13.4调试
    13.5查看源代码

    第14章块设备驱动程序
    14.1存储技术
    14.2Linux块I/O层
    14.3I/O调度器
    14.4块驱动程序数据结构和方法
    14.5设备实例:简单存储控制器
    14.5.1初始化
    14.5.2块设备操作
    14.5.3磁盘访问
    14.6高级主题
    14.7调试
    14.8查看源代码

    第15章网络接口卡
    15.1驱动程序数据结构
    15.1.1套接字缓冲区
    15.1.2网络设备接口
    15.1.3激活
    15.1.4数据传输
    15.1.5看门狗
    15.1.6统计
    15.1.7配置
    15.1.8总线相关内容
    15.2与协议层会话
    15.2.1接收路径
    15.2.2发送路径
    15.2.3流量控制
    15.3缓冲区管理和并发控制
    15.4设备实例:以太网NIC
    15.5ISA网络驱动程序
    15.6ATM
    15.7网络吞吐量
    15.7.1驱动程序性能
    15.7.2协议性能
    15.8查看源代码

    第16章Linux无线设备驱动
    16.1蓝牙
    16.1.1B1ueZ
    16.1.2设备实例:CF卡
    16.1.3设备实例:USB适配器
    16.1.4RFCOMM
    16.1.5网络
    16.1.6HID
    16.1.7音频
    16.1.8调试
    16.1.9关于源代码
    16.2红外
    16.2.1Linux—IrDA
    16.2.2设备实例:超级I/0芯片
    16.2.3设备实例:IRDong1e
    16.2.4IrCOMM
    16.2.5联网
    16.2.6IrDA套接字
    16.2.7LIRC
    16.2.8查看源代码
    16.3WiFi
    16.3.1配置
    16.3.2设备驱动程序
    16.3.3查看源代码
    16.4蜂窝网络
    16.4.1GPRS
    16.4.2GDMA
    16.5当前趋势

    第17章存储技术设备
    17.1什么是闪存
    17.2Linux.MTD子系统
    17.3映射驱动程序
    17.4NOR芯片驱动程序
    17.5NAND芯片驱动程序
    17.6用户模块
    17.6.1块设备模拟
    17.6.2字符设备模拟
    17.6.3JFFS2
    17.6.4YAFFS2
    17.7MTD工具
    17.8配置MTD
    17.9XIP
    17.10FWH
    17.11调试
    17.12查看源代码

    第18章嵌入式Linux
    18.1挑战
    18.2元器件选择
    18.3工具链
    18.4Boot1oader
    18.5内存布局
    18.6内核移植
    18.7嵌入式驱动程序
    18.7.1闪存
    18.7.2LIART
    18.7.3按钮和滚轮
    18.7.4PCMCIA/CF
    18.7.5SD/MMC
    18.7.6USB
    18.7.7RTC
    18.7.8音频
    18.7.9触摸屏
    18.7.10视频
    18.7.11CPLD/FPGA
    18.7.12连接性
    18.7.13专用领域电子器件
    ……
    第19章用户空间的驱动程序
    第20章其他设备和驱动程序
    第21章高度设备驱动程序
    第22章维护与发布
    第23章结束语
    附录
  • 内容简介:
      《精通Linux设备驱动程序开发》是Linux设备驱动程序开发领域的权威著作。全书基于2.6内核,不仅透彻讲解了基本概念和技术,更深人探讨了其他书没有涵盖或浅尝辄止的许多重要主题和关键难点,如PCMCIA、I2C和USB等外部总线以及视频、音频、无线连网和闪存等驱动程序的开发,并讲解了相关的内核源码文件,给出了完整的开发实例。
      《精通Linux设备驱动程序开发》适合中高级Linux开发人员阅读。
  • 作者简介:
      温卡特斯瓦兰(SreekrjshnanMenkateswaran),世界顶级Linux开发技术专家。在IBM工作多年。有丰富的嵌入式Linux和驱动程序开发经验。曾将Linux移植到了手表、音乐播放器、VolP电话、心脏起搏器以及远程门诊监控系统等设备上。目前是IBMI钱度公司的嵌入式解决方案组负责人。他曾担任LinuXMagazine的特邀编辑。主持内核技术专栏。
  • 目录:
    第1章引言
    1.1演进
    1.2GNUCopy1eft
    1.3kerne1.org
    1.4邮件列表和论坛
    1.5Linux发行版
    1.6查看源代码
    1.7编译内核
    1.8可加载的模块
    1.9整装待发

    第2章内核
    2.1启动过程
    2.1.1BIOS.pmvidedphysica1RAMmap
    2.1.2758MBLOWMEMavai1ab1e
    2.1.3Kerne1command1in:roroot=/dev/hda1
    2.1.4Ca1ibratingde1ayBogoMIPS(1pj=2394935)
    2.1.5CheckingHLTinstruction
    2.1.6NET:Registeredprotoco1fami1y2
    2.1.7Freeinginitrdmemory:387kfreed
    2.1.8ioschedu1eranticipatoryregistered(defau1t)
    2.1.9SettingupstandardPCIresources
    2.1.10EXT3-fs:mountedfi1esystem
    2.1.11INIT:version2.85booting
    2.2内核模式和用户模式
    2.3进程上下文和中断上下文
    2.4内核定时器
    2.4.1HZ和Jiffies
    2.4.2长延时
    2.4.3短延时
    2.4.4Pentium时间戳计数器
    2.4.5实时钟
    2.5内核中的并发
    2.5.1自旋锁和互斥体
    2.5.2原子操作
    2.5.3读一写锁
    2.5.4调试
    2.6proc文件系统
    2.7内存分配
    2.8查看源代码

    第3章内核组件
    3.1内核线程
    3.1.1创建内核线程
    3.1.2进程状态和等待队列
    3.1.3用户模式辅助程序
    3.2辅助接口
    3.2.1链表
    3.2.2散列链表
    3.2.3工作队列
    3.2.4通知链
    3.2.5完成接口
    3.2.6kthread辅助接口
    3.2.7错误处理助手
    3.3查看源代码

    第4章基本概念
    4.1设备和驱动程序介绍
    4.2中断处理
    4.2.1中断上下文
    4.2.2分配IRQ号
    4.2.3设备实例:导航杆
    4.2.4softirq和task1et
    4.3Linux设备模型
    4.3.1udev
    4.3.2sysfs、kobject和设备类
    4.3.3热插拔和冷插拔
    4.3.4微码下载
    4.3.5模块自动加载
    4.4内存屏障
    4.5电源管理
    4.6查看源代码

    第5章字符设备驱动程序
    5.1字符设备驱动程序基础
    5.2设备实例:系统CMOS
    5.2.1驱动程序初始化
    5.2.2打开与释放
    5.2.3数据交换
    5.2.4查找
    5.2.5控制
    5.3检测数据可用性
    5.3.1轮询
    5.3.2.Fasync
    5.4和并行端口交互
    5.5RTC子系统
    5.6伪字符驱动程序
    5.7混杂驱动程序
    5.8字符设备驱动程序注意事项
    5.9查看源代码

    第6章串行设备驱动程序
    6.1层次架构
    6.2UART驱动程序
    6.2.1设备实例:手机
    6.2.2RS.485
    6.3TTY驱动程序:
    6.4线路规程
    6.5查看源代码

    第7章输入设备驱动程序
    7.1输入事件驱动程序
    7.2输入设备驱动程序
    7.2.1ser1o
    7.2.2键盘
    7.2.3鼠标
    7.2.4触摸控制器
    7.2.5加速度传感器
    7.2.6输出事件
    7.3调试
    7.4查看源代码

    第8章I2C协议
    8.112C/SMBus是什么
    8.2I2C核心
    8.3总线事务
    8.4.设备实例:EEPROM
    8.4.1初始化
    8.4.2探测设备
    8.4.3检查适配器的功能
    8.4.4访问设备
    8.4.5其他函数
    8.5设备实例:实时时钟
    8.6i2c.dev
    8.7使用LM.Sensors监控硬件
    8.8SPI总线
    8.9Wire总线
    8.10调试
    8.11查看源代码

    第9章PCMCIA和CF
    9.1PCMCIA/CF是什么
    9.2Linux—PCMCIA子系统
    9.3主机控制器驱动程序
    9.4PCMCIA核心
    9.5驱动程序服务
    9.6客户驱动程序
    9.6.1数据结构
    9.6.2设备实例:PCMCIA卡
    9.7将零件组装在一起
    9.8PCMCIA存储
    9.9串行PCMCIA
    9.10调试
    9.11查看源代码

    第10章PCI
    10.1PCI系列
    10.2寻址和识别
    10.3访问PCI
    10.3.1配置区
    10.3.2I/O和内存
    10.4DMA
    10.5设备实例:以太网一调制解调器卡
    10.5.1初始化和探测
    10.5.2数据传输
    10.6调试
    10.7查看源代码

    第11章USB
    11.1I.ISB体系架构
    11.1.1总线速度
    11.1.2主机控制器
    11.1.3传输模式
    11.1.4寻址
    11.2Linux.USB子系统
    11.3驱动程序的数据结构
    11.3.1usb—device结构体
    11.3.2URB
    11.3.3管道
    11.3.4描述符结构
    11.4枚举
    11.5设备实例:遥测卡
    11.5.1初始化和探测过程
    11.5.2卡寄存器的访问
    11.5.3数据传输
    11.6类驱动程序
    11.6.1大容量存储设备
    11.6.2USB.串行端口转换器
    11.6.3人机接口设备
    11.6.4蓝牙
    11.7gadget驱动程序
    11.8调试
    11.9查看源代码

    第12章视频驱动程序
    12.1显示架构
    12.2Linux视频子系统
    12.3显示参数
    12.4帧缓冲API
    12.5帧缓冲驱动程序
    12.6控制台驱动程序
    12.6.1设备实例:手机
    12.6.2启动1ogo
    12.7调试
    12.8查看源代码

    第13章音频驱动程序
    13.1音频架构
    13.2Linux声音子系统,
    13.3设备实例:MP3播放器
    13.3.1驱动程序函数和结构体
    13.3.2ALSA编程
    13.4调试
    13.5查看源代码

    第14章块设备驱动程序
    14.1存储技术
    14.2Linux块I/O层
    14.3I/O调度器
    14.4块驱动程序数据结构和方法
    14.5设备实例:简单存储控制器
    14.5.1初始化
    14.5.2块设备操作
    14.5.3磁盘访问
    14.6高级主题
    14.7调试
    14.8查看源代码

    第15章网络接口卡
    15.1驱动程序数据结构
    15.1.1套接字缓冲区
    15.1.2网络设备接口
    15.1.3激活
    15.1.4数据传输
    15.1.5看门狗
    15.1.6统计
    15.1.7配置
    15.1.8总线相关内容
    15.2与协议层会话
    15.2.1接收路径
    15.2.2发送路径
    15.2.3流量控制
    15.3缓冲区管理和并发控制
    15.4设备实例:以太网NIC
    15.5ISA网络驱动程序
    15.6ATM
    15.7网络吞吐量
    15.7.1驱动程序性能
    15.7.2协议性能
    15.8查看源代码

    第16章Linux无线设备驱动
    16.1蓝牙
    16.1.1B1ueZ
    16.1.2设备实例:CF卡
    16.1.3设备实例:USB适配器
    16.1.4RFCOMM
    16.1.5网络
    16.1.6HID
    16.1.7音频
    16.1.8调试
    16.1.9关于源代码
    16.2红外
    16.2.1Linux—IrDA
    16.2.2设备实例:超级I/0芯片
    16.2.3设备实例:IRDong1e
    16.2.4IrCOMM
    16.2.5联网
    16.2.6IrDA套接字
    16.2.7LIRC
    16.2.8查看源代码
    16.3WiFi
    16.3.1配置
    16.3.2设备驱动程序
    16.3.3查看源代码
    16.4蜂窝网络
    16.4.1GPRS
    16.4.2GDMA
    16.5当前趋势

    第17章存储技术设备
    17.1什么是闪存
    17.2Linux.MTD子系统
    17.3映射驱动程序
    17.4NOR芯片驱动程序
    17.5NAND芯片驱动程序
    17.6用户模块
    17.6.1块设备模拟
    17.6.2字符设备模拟
    17.6.3JFFS2
    17.6.4YAFFS2
    17.7MTD工具
    17.8配置MTD
    17.9XIP
    17.10FWH
    17.11调试
    17.12查看源代码

    第18章嵌入式Linux
    18.1挑战
    18.2元器件选择
    18.3工具链
    18.4Boot1oader
    18.5内存布局
    18.6内核移植
    18.7嵌入式驱动程序
    18.7.1闪存
    18.7.2LIART
    18.7.3按钮和滚轮
    18.7.4PCMCIA/CF
    18.7.5SD/MMC
    18.7.6USB
    18.7.7RTC
    18.7.8音频
    18.7.9触摸屏
    18.7.10视频
    18.7.11CPLD/FPGA
    18.7.12连接性
    18.7.13专用领域电子器件
    ……
    第19章用户空间的驱动程序
    第20章其他设备和驱动程序
    第21章高度设备驱动程序
    第22章维护与发布
    第23章结束语
    附录
查看详情
好书推荐 / 更多
精通Linux设备驱动程序开发
传统十论:本土社会的制度、文化与其变革
秦晖 著
精通Linux设备驱动程序开发
翁达杰作品系列:英国病人(精装)
[加]迈克尔·翁达杰 著;丁骏 译
精通Linux设备驱动程序开发
软件体的生命周期:特德·姜科幻小说集
[美]特德·姜
精通Linux设备驱动程序开发
汉唐文学与文献论考
陈尚君 著
精通Linux设备驱动程序开发
中国佛学源流略讲
吕澂 著
精通Linux设备驱动程序开发
明清稿抄校本鉴定
陈先行、石菲 著
精通Linux设备驱动程序开发
瓦檐下的旧器物
黄孝纪
精通Linux设备驱动程序开发
索恩丛书·自由的流亡者:永失美国与大英帝国的东山再起(套装全2册)
马娅·亚桑诺夫(Maya Jasanoff) 著;马睿 译
精通Linux设备驱动程序开发
维米尔
北寺 译 者;[英]路德维希·戈德沙伊德(Ludwig Goldscheider)
精通Linux设备驱动程序开发
做工的人
林立青 著;赖小路 摄影
精通Linux设备驱动程序开发
与绝迹之鸟的短暂邂逅
[美]本·方登 著
精通Linux设备驱动程序开发
[日]吉田修一 Yoshida Shuichi 著;岳远坤 译