精通Linux设备驱动程序开发

精通Linux设备驱动程序开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [印] ,
2010-06
版次: 1
ISBN: 9787115221674
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 468页
字数: 753千字
正文语种: 简体中文
原版书名: Essential Linux Device Drivers
89人买过
  •   《精通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程序设计:第4版
[英]马修(Matthew N.) 著;陈健、宋健建 译
精通Linux设备驱动程序开发
深入Linux内核架构:全球开源社区集体智慧结晶,领略Linux内核的绝美风光
[德]莫尔勒 著;郭旭 译
相关图书 / 更多
精通Linux设备驱动程序开发
精通 Power Query
(加拿大)肯·普尔斯
精通Linux设备驱动程序开发
精通套期保值
李录林 著
精通Linux设备驱动程序开发
精通STM32F4(HAL库版)(上)
刘军 凌柱宁 徐伟健 江荧
精通Linux设备驱动程序开发
精通FrontPage XP(中文版)
中国IT培训工程编委会 编
精通Linux设备驱动程序开发
精通咬合重建——解读牙列不齐、牙周病、多牙缺失
吴松涛 周茂强 译;[日]上田 秀朗
精通Linux设备驱动程序开发
精通Veeam Backup & Replication(原书第2版)
克里斯·奇尔德霍森(Chris Childerhose)
精通Linux设备驱动程序开发
精通Shiny(Mastering Shiny)
Hadley Wickham
精通Linux设备驱动程序开发
精通区块链开发技术(第2版)
[美]伊姆兰·巴希尔 著;王烈征 译
精通Linux设备驱动程序开发
精通Apache Pulsar:可伸缩云原生事件流实践
[美]Jowanza Joseph(乔万扎·约瑟夫
精通Linux设备驱动程序开发
精通机器学习算法
[意]朱塞佩·博纳科尔索(Giuseppe Bonaccorso)
精通Linux设备驱动程序开发
精通嵌入式Linux编程
[美]弗兰克·瓦斯奎兹 著;陈会翔 译
精通Linux设备驱动程序开发
精通Transformer:从零开始构建最先进的NLP模型
[伊朗]梅萨姆·阿斯加里-切纳格卢 著;江红 余青松 余靖 译;[土耳其]萨瓦斯·伊尔蒂利姆
您可能感兴趣 / 更多
精通Linux设备驱动程序开发
Python数据分析(第3版)
[印]阿维纳什·纳夫拉尼(Avinash Navlani)
精通Linux设备驱动程序开发
PyTorch计算机视觉实战:目标检测、图像处理与深度学习
[印]V·基肖尔·阿耶德瓦拉 (印)耶什万斯·雷迪
精通Linux设备驱动程序开发
超声引导下区域麻醉实用指南
[印]阿鲁南苏·查克拉博蒂
精通Linux设备驱动程序开发
Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案
[印]阿什温·帕扬卡 (Ashwin Pajankar) 阿迪亚·乔希 (Aditya Joshi)著 欧拉 译
精通Linux设备驱动程序开发
全栈测试
[印]加亚特里 默罕(Gayathri Mohan)
精通Linux设备驱动程序开发
数字设计技术与解析
[印]瓦伊巴夫·塔拉特 著;慕意豪 译
精通Linux设备驱动程序开发
泰戈尔诗选(成长读书课:名家公开课美绘版)
[印]泰戈尔 著;郑振铎 译
精通Linux设备驱动程序开发
密码学与网络安全(第4版)
[印]阿图尔·卡哈特(Atul Kahate)著 葛秀慧 金名 译
精通Linux设备驱动程序开发
MATLAB 图形学基础
[印]兰詹·帕雷克(Ranjan Parekh) 著;章毓晋 译
精通Linux设备驱动程序开发
古老智慧的现代实践:辨喜论吠檀多(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
精通Linux设备驱动程序开发
从冥想到三摩地:辨喜论王瑜伽和《瑜伽经》(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
精通Linux设备驱动程序开发
被设想的未来
[印]普立梵(Prem Poddar) 【英】安德鲁·瓦特(Andrew Watt)