《嵌入式Linux驱动程式开发实例教程》是由张光建,刘政编写,清华大学出版社于2011年9月1日出版发行,本书详细介绍了计算机的嵌入式Linux系统的三类驱动程式开发方法。
基本介绍
- 书名:嵌入式Linux驱动程式开发实例教程
- 作者:张光建,刘政
- ISBN:9787302260592
- 页数:175页
- 出版社:清华大学出版社
- 出版时间:2011年9月1日
- 装帧:平装
- 开本:16开
- 正文语种:简体中文
- 商品尺寸:25.6 x 18.2 x 0.8 cm
- 商品重量:363 g
内容简介
全书共分10章。前面4章简要介绍Linux作业系统的操作、嵌入式Linux驱动开发环境的建立方法以及Linux驱动程式开发所需要的核心基础。第5章和第6章介绍字元驱动程式的设计方法,第7章和第8章介绍块设备驱动程式的设计方法,第9章和第10章介绍网路驱动程式的设计方法。每类驱动程式分别从数据结构、驱动架构、驱动模组设计三方面进行了介绍,每类驱动程式都配置了一个模拟驱动小实例,通过这些小实例,可以深入理解各类驱动程式的架构。每类驱动程式还配置了一个真实外部设备的驱动程式开发实例。
《嵌入式Linux驱动程式开发实例教程》实例丰富,通俗易懂,可作为高等学校计算机科学与技术、软体工程等专业学生学习嵌入式技术的教材,也可以作为计算机相关专业学生学习作业系统的提高教材,还可作为工程技术人员设计Linux驱动程式的参考书。
图书目录
第1章 设备驱动概述
1.1 设备驱动程式的作用
1.1.1 嵌入式系统的硬体组成
1.1.2 嵌入式系统的软体组成
1.1.3 驱动程式的作用
1.2 Linux设备驱动
1.2.1 Linux设备驱动程式的分类及特点
1.2.2 Linux设备驱动程式与整个软体系统的关係
1.3 Linux设备驱动程式开发技术的学习方法
习题1
第2章 Linux基本操作
2.1 Linux常用命令
2.1.1 档案及目录操作命令
2.1.2 显示命令
2.1.3 档案压缩及解压命令
2.1.4 网路命令
2.1.5 改变档案访问许可权的命令
2.1.6 帮助命令
2.1.7 安装卸载档案系统命令
2.2 Linux基本编程
2.2.1 emacs编辑器
2.2.2 使用gcc编译程式
2.2.3 make命令
2.2.4 描述档案
习题2
第3章 嵌入式Linux驱动程式开发环境的建立
3.1 交叉编译环境的建立
3.2 超级终端的配置
3.3 档案共享的配置
3.3.1 配置防火墙
3.3.2 配置samba使Windows与Linux共享
3.3.3 配置NFS使宿主机Linux与目标机Linux共享
习题3
第4章 Linux设备驱动核心基础
4.1 Linux设备的表示
4.2 设备档案系统(devfs)
4.3 模组
4.4 I/O连线埠的访问
4.5 中断管理
4.5.1 中断的注册
4.5.2 中断的释放
4.5.3 中断处理例程
4.5.4 中断的禁止和使能
4.6 设备驱动程式中的并发控制
4.6.1 信号量的初始化
4.6.2 信号量的申请
4.6.3 信号量的释放
4.7 核心空间和用户空间数据複製
4.8 使用printk()函式调试设备驱动程式
习题4
第5章 字元设备驱动程式
5.1 有关字元设备的数据结构
5.1.1 file_operations结构
5.1.2 file结构
5.1.3 chrdevs数组
5.2 字元设备驱动程式的设计
5.2.1 字元设备驱动程式的组成
5.2.2 file_operations结构体变数
5.2.3 字元设备驱动程式的载入及卸载函式
5.2.4 字元设备驱动程式的接口函式
5.3 访问字元设备的系统调用
5.3.1 open()函式和create()函式
5.3.2 close()函式
5.3.3 read()函式
5.3.4 write()函式
5.3.5 套用举例
5.4 核心访问字元设备驱动程式的流程
5.4.1 open()系统调用的执行流程
5.4.2 read()和write()系统调用的执行流程
5.4.3 close()系统调用的执行流程
5.5 字元设备驱动程式示例:虚拟字元设备驱动程式
5.5.1 虚拟字元设备驱动程式代码
5.5.2 测试程式代码
5.5.3 虚拟字元设备驱动程式的编译
5.5.4 虚拟字元设备驱动程式的测试
习题5
第6章 字元设备驱动程式实例:S3C2410ADC驱动程式
6.1 S3C2410X的ADC概述
6.1.1 S3C2410XADC的转换频率及转换时间
6.1.2 S3C2410X与A/D转换有关的暂存器
6.2 S3C2410X的ADC驱动程式设计
6.2.1 ADC驱动程式需要包含的头档案
6.2.2 ADC驱动程式的file_operations结构体变数
6.2.3 ADC驱动程式的载入函式
6.2.4 ADC驱动程式的卸载函式
6.2.5 ADC驱动程式的接口函式
6.2.6 ADC中断处理函式
6.3 ADC驱动程式的编译及测试
6.3.1 测试程式
6.3.2 ADC驱动程式的编译
6.3.3 ADC驱动程式的测试
习题6
第7章 块设备驱动程式
7.1 有关块设备的数据结构
7.1.1 block_device_operations结构
7.1.2 gendisk结构
7.1.3 request_queue结构
7.1.4 buffer_head结构
7.1.5 request结构
7.2 块设备驱动程式的设计
7.2.1 块设备驱动程式的组成
7.2.2 档案包含与宏定义
7.2.3 block_device_operations结构体变数
7.2.4 块设备驱动程式的接口函式
7.2.5 块设备驱动程式的request()函式
7.2.6 块设备驱动的载入函式
7.2.7 块设备驱动的卸载函式
7.3 块设备驱动程式示例:虚拟块设备驱动程式
7.3.1 虚拟块设备驱动程式代码
7.3.2 虚拟块设备驱动程式的编译
7.3.3 虚拟块设备驱动程式的测试
习题7
第8章 块设备驱动程式实例:SD卡驱动程式
8.1 SD卡功能概述
8.1.1 汇流排协定
8.1.2 SD卡的引脚
8.1.3 SD卡的命令
8.1.4 SD卡的回响
8.1.5 SD卡的暂存器
8.1.6 SD卡的状态及操作模式
8.2 S3C2410XSDI接口概述
8.2.1 SDI暂存器
8.2.2 SDI的初始化
8.2.3 SD卡命令的传送
8.2.4 数据的读写
8.3 基于S3C2410X的SD卡驱动程式设计
8.3.1 SD卡驱动程式的载入函式
8.3.2 SD卡驱动程式的卸载函式
8.3.3 SD卡驱动程式的接口函式
8.3.4 SD卡驱动程式的request()函式
8.4 SD卡驱动程式的编译及测试
8.4.1 SD卡驱动程式的编译
8.4.2 SD卡驱动程式的测试
习题8
第9章 网路设备驱动程式
9.1 有关网路设备的数据结构
9.1.1 net_device结构体
9.1.2 sk_buff结构体
9.2 网路设备驱动程式开发常用的核心函式
9.2.1 sk_buff结构操作函式
9.2.2 记忆体申请和释放函式
9.2.3 网路驱动程式注册和解除注册函式
9.2.4 乙太网设备通用初始化函式
9.2.5 传送伫列的启动、唤醒及停止函式
9.2.6 查询网路设备是否在运行的函式
9.2.7 向上层传递数据包的函式
9.3 网路设备驱动程式的设计
9.3.1 网路设备驱动程式的组成
9.3.2 网路设备驱动程式的载入函式
9.3.3 网路设备驱动程式的卸载函式
9.3.4 网路设备驱动程式的接口函式
9.3.5 网卡中断处理程式
9.4 网路设备驱动程式示例:虚拟网路设备驱动程式
9.4.1 虚拟网路设备驱动程式代码
9.4.2 虚拟网路设备驱动程式的编译
9.4.3 虚拟网路设备驱动程式的测试
习题9
第10章 网路设备驱动程式实例:AX88796驱动程式
10.1 AX88796晶片与CPU的接口
10.1.1 AX88796与CPU的接口信号
10.1.2 S3C2410CPU与AX88796接口的信号
10.1.3 S3C2410CPU与网卡晶片接口相关的暂存器
10.1.4 UP-NETARM2410-S中AX88796与S3C2410CPU的连线
10.2 AX88796MAC核心暂存器
10.2.1 MAC核心暂存器概述
10.2.2 常用的MAC核心暂存器
10.3 AX88796晶片的缓冲区操作
10.3.1 数据包的接收
10.3.2 数据包的传送
10.3.3 填充数据包到传送缓冲区以及从接收缓冲区环移走数据包
10.4 AX88796驱动程式设计
10.4.1 AX88796.h
10.4.2 AX88796驱动程式的载入函式
10.4.3 AX88796驱动程式的卸载函式
10.4.4 AX88796驱动程式的接口函式
10.4.5 AX88796驱动程式的中断处理程式
10.5 AX88796驱动程式的编译及测试
10.5.1 AX88796网路驱动程式的编译
10.5.2 AX88796驱动程式的测试
习题10
参考文献