Linux 驱动程序开发实例-第2版

本书特色

[

Linux设备驱动程序是高级应用程序与硬件设备之间的桥梁。驱动程序开发是软硬件相互结合的技术。本书是一本专门介绍Linux设备驱动程序开发的书籍,涵盖了Linux驱动程序基础、驱动模型、内存管理、内核同步机制、I2C驱动程序、LCD驱动程序、网络驱动程序、USB驱动程序、输入子系统驱动程序、块设备驱动程序、音频设备驱动等内容。本书以实例为主线,是为Linux设备驱动程序开发人员量身打造的学习精品书籍和实战指南。本书基于Linux4.5内核,提供了丰富的实例代码和详细的注释,并附赠完整源代码供读者下载。本书主要面向各种层次的嵌入式Linux软硬件开发工程师,也可以作为各类嵌入式系统培训机构的培训实验教材和高校计算机课程教辅书籍。

]

内容简介

[

本书使用了较新的Linux内核,实例丰富,讲解细致。强烈建议嵌入式开发人员阅读。

]

目录

第 1 章 Linux 设备驱动程序入门 11.1 设备驱动程序基础 11.1.1 驱动程序的概念 11.1.2 驱动程序的加载方式 21.1.3 编写可加载模块 31.1.4 带参数的可加载模块 41.1.5 模块依赖 51.1.6 printk 的等级 71.1.7 设备驱动程序类别 81.2 字符设备驱动程序原理 91.2.1 file_o p erations 结构 91.2.2 使用 register_chrdev 注册字符设备 111.2.3 使用 cdev_add 注册字符设备 141.2.4 字符设备的读写 161.2.5 IOCTL 接口 171.2.6 seek 接口 201.2.7 poll 接口 221.2.8 异步通知 261.3 seq_file 机制 281.3.1 seq_file 原理 281.3.2 seq_file 实例 291.4 /proc 文件系统 351.4.1 /proc 文件系统概述 351.4.2 /proc 文件系统接口 361.5 Linux 内核导读 401.5.1 Linux 内核组成 401.5.2 Linux 的代码结构 421.5.3 内核 Makefile 43第 2 章 Linux 设备驱动模型 442.1 内核对象 442.1.1 Kobject 442.1.2 kobj_type 452.1.3 Kset 452.2 设备模型层次 462.3 sysfs 文件系统 492.4 platform 概念 512.5 Attributes 562.6 设备事件通知 602.6.1 kobject uevent 602.6.2 uevent helper 612.6.3 udev 632.7 设备树 64第 3 章 Linux 内核同步机制 673.1 原子操作 673.2 锁机制 683.2.1 自旋锁 683.2.2 读写锁 703.2.3 RCU 713.2.4 信号量 753.2.5 读写信号量 773.2.6 互斥量 773.3 等待队列 783.3.1 等待队列原理 783.3.2 阻塞模式读实例 783.3.3 完成事件 813.4 通知链 83第 4 章 内存管理与链表 864.1 物理地址和虚拟地址 864.2 内存分配与释放 874.3 cache 884.4 IO 端口到虚拟地址的映射 884.4.1 静态映射 884.4.2 ioremap 894.5 内核空间到用户空间的映射 904.5.1 mmap 接口 904.5.2 mmap 系统调用 914.6 DMA 映射 934.7 内核链表 934.7.1 Linux 内核中的链表 934.7.2 内核链表实例 95第 5 章 任务与调度 985.1 schedule 985.2 内核线程 995.3 内核调用应用程序 1015.4 软中断机制 1035.4.1 软中断原理 1035.4.2 tasklet 1065.5 工作队列 1085.5.1 工作队列原理 1085.5.2 延迟工作队列 1105.6 内核时间 1105.6.1 Linux 下的时间概念 1105.6.2 Linux 下的延迟 1115.6.3 内核定时器 112第 6 章 简单硬件设备驱动程序 1156.1 硬件基础知识 1156.1.1 硬件设备原理 1156.1.2 时序图原理 1166.1.3 嵌入式 Linux 系统构成 1176.1.4 硬件初始化 1176.1.5 clk 体系 1206.2 dev/mem 与 dev/kmem 1216.3 寄存器访问 1246.3.1 S3C6410X 地址映射 1246.3.2 S3C6410X 看门狗驱动程序实例 1286.4 电平控制 1316.4.1 S3C6410X LED 驱动程序实例 1326.4.2 扫描型按键驱动程序实例 1356.5 硬件中断处理 1376.5.1 硬件中断处理原理 1376.5.2 中断型按键驱动程序实例 1416.6 看门狗驱动架构 1466.7 RTC 驱动 1486.8 LED 类设备 153第 7 章 I2C 设备驱动程序 1577.1 I2C 接口原理 1577.2 Linux 的 I2C 驱动程序架构 1597.2.1 I2C 适配器 1607.2.2 I2C 算法 1617.2.3 I2C 从设备 1617.2.4 I2C 从设备驱动 1627.2.5 I2C 从设备驱动开发 1637.3 I2C 控制器驱动 1637.3.1 S3C2410X 的 I2C 控制器 1637.3.2 S3C2410X 的 I2C 控制器驱动 1647.4 通用 I2C 从设备 1727.4.1 通用 I2C 从设备驱动 1727.4.2 通过 read 与 write 接口读写 1747.4.3 通过 I2C_RDWR 命令读写 1777.4.4 I2Ctools 1807.5 个性化 I2C 从设备驱动 181第 8 章 TTY 与串口驱动程序 1858.1 TTY 概念 1858.2 Linux TTY 驱动程序体系 1858.2.1 TTY 驱动程序架构 1858.2.2 TTY 文件层 1868.2.3 线路规程层 1888.2.4 TTY 驱动层 1908.2.5 TTY 数据链路分析 1938.3 串口驱动层 1948.3.1 uart_driver 1948.3.2 uart_port 1958.4 S3C6410X 串口设备驱动程序 1978.5 TTY 应用层 201第 9 章 Framebuffer 驱动程序 2039.1 Linux Framebuffer 驱动程序原理 2039.1.1 Framebuffer 核心数据结构 2039.1.2 Framebuffer 操作接口 2069.1.3 Framebuffer 驱动的文件接口 2079.1.4 Framebuffer 驱动框架代码分析 2099.2 S3C6410X 显示控制器 2109.3 S3C6410X LCD 驱动程序实例 2159.3.1 注册与初始化 2159.3.2 fb_ops 实现 2209.3.3 DMA 传输机制 2229.3.4 内核配置 2279.4 Framebuffer 应用层 2279.5 Qt 界面系统移植 229第 10 章 输入子系统 23110.1 Linux 输入子系统概述 23110.2 Linux 输入子系统原理 23110.2.1 输入设备 23210.2.2 输入事件 23310.2.3 input Handler 层 23410.2.4 常用的 Input Handler 23610.3 输入设备应用层 24110.4 键盘输入设备驱动程序实例 24310.5 Event 接口实例 249

封面

Linux 驱动程序开发实例-第2版

书名:Linux 驱动程序开发实例-第2版

作者:冯国进

页数:418

定价:¥89.0

出版社:机械工业出版社

出版日期:2017-07-01

ISBN:9787111567066

PDF电子书大小:148MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注