《Linux设备驱动开发详解(中文版·第3版)》全面介绍了Linux环境下设备驱动开发的技术和方法,适合开发者深入学习。
前言
第一章 设备驱动程序简介
- 设备驱动程序的作用
- 内核功能划分
- 设备和模块的分类
- 安全问题
- 版本编号
- 许可证条款
- 加入内核开发社团
- 本书概要
第二章 构造和运行模块
- 设置测试系统
- Hello world模块
- 核心模块与应用程序的对比
- 编译和装载
- 内核符号表
- 预备知识
- 初始化和关闭
- 模块参数
- 在用户空间编写驱动程序
- 快速参考
第三章 字符设备驱动程序
- scull的设计
- 主设备号和次设备号
- 一些重要的数据结构
- 字符设备的注册
- open和release
- scull的内存使用
- read和write
- 尝试新设备
- 快速参考
第四章 调试技术
- 内核中的调试支持
- 打印调试
- 查询调试
- 监视调试
- 调试系统故障
- 调试器和相关工具
第五章 并发和竞态
- scull的缺陷
- 并发及其管理
- 信号量和互斥体
- completiOn
- 自旋锁
- 锁陷阱
- 除了锁定之外的方法
- 快速参考
第六章 高级字符驱动程序操作
- ioctl
- 阻塞型I/O
- poll和select
- 异步通知
- 定位设备
- 设备文件的访问控制
- 快速参考
第七章 时间、延迟及延缓操作
- 度量时间差
- 获取当前时间
- 延迟执行
- 内核定时器
- tasklet
- 工作队列
- 快速参考
第八章 分配内存
- kmalloc函数的内幕
- 后备高速缓存
- get-free-page和相关函数
- vmalloc及其辅助函数
- per-CPU变量
- 获取大的缓冲区
- 快速参考