新書推薦:
《
棉的全球史(历史·文化经典译丛)
》
售價:NT$
500.0
《
超越百岁看这本就够了
》
售價:NT$
254.0
《
亚洲戏剧史·南亚卷
》
售價:NT$
653.0
《
中国历代竹器图谱与数字活化
》
售價:NT$
2540.0
《
EDA技术与设计(第2版)
》
售價:NT$
387.0
《
揉碎浪漫(全两册)
》
售價:NT$
320.0
《
古籍善本
》
售價:NT$
2448.0
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:NT$
398.0
|
內容簡介: |
本书详细介绍了计算机的嵌入式linux系统的三类驱动程序开发方法。全书共分10章。前面4章简要介绍linux操作系统的操作、嵌入式linux驱动开发环境的建立方法以及linux驱动程序开发所需要的内核基础。第5章和第6章介绍字符驱动程序的设计方法,第7章和第8章介绍块设备驱动程序的设计方法,第9章和第10章介绍网络驱动程序的设计方法。每类驱动程序分别从数据结构、驱动架构、驱动模块设计三方面进行了介绍,每类驱动程序都配置了一个模拟驱动小实例,通过这些小实例,可以深入理解各类驱动程序的架构。每类驱动程序还配置了一个真实外部设备的驱动程序开发实例。
本书实例丰富,通俗易懂,可作为高等学校计算机科学与技术、软件工程等专业学生学习嵌入式技术的教材,也可以作为计算机相关专业学生学习操作系统的提高教材,还可作为工程技术人员设计linux驱动程序的参考书。
|
目錄:
|
第1章 设备驱动概述
1.1设备驱动程序的作用
1.1.1嵌入式系统的硬件组成
1.1.2嵌入式系统的软件组成
1.1.3驱动程序的作用
1.2linux设备驱动
1.2.1linux设备驱动程序的分类及特点
1.2.2linux设备驱动程序与整个软件系统的关系
1.3linux设备驱动程序开发技术的学习方法
习题1
第2章 linux基本操作
2.1linux常用命令
2.1.1文件及目录操作命令
2.1.2显示命令
2.1.3文件压缩及解压命令
2.1.4网络命令
2.1.5改变文件访问权限的命令
2.1.6帮助命令
2.1.7安装卸载文件系统命令
2.2linux基本编程
2.2.1emacs编辑器
2.2.2使用gcc编译程序
2.2.3make命令
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.1linux设备的表示
4.2设备文件系统devfs
4.3模块
4.4io端口的访问
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.1file_operations结构
5.1.2file结构
5.1.3chrdevs数组
5.2字符设备驱动程序的设计
5.2.1字符设备驱动程序的组成
5.2.2file_operations结构体变量
5.2.3字符设备驱动程序的加载及卸载函数
5.2.4字符设备驱动程序的接口函数
5.3访问字符设备的系统调用
5.3.1open函数和create函数
5.3.2close函数
5.3.3read函数
5.3.4write函数
5.3.5应用举例
5.4内核访问字符设备驱动程序的流程
5.4.1open系统调用的执行流程
5.4.2read和write系统调用的执行流程
5.4.3close系统调用的执行流程
5.5字符设备驱动程序示例: 虚拟字符设备驱动程序
5.5.1虚拟字符设备驱动程序代码
5.5.2测试程序代码
5.5.3虚拟字符设备驱动程序的编译
5.5.4虚拟字符设备驱动程序的测试
习题5
第6章 字符设备驱动程序实例: s3c2410 adc驱动程序
6.1s3c2410x的adc概述
6.1.1s3c2410x adc的转换频率及转换时间
6.1.2s3c2410x与ad转换有关的寄存器
6.2s3c2410x的adc驱动程序设计
6.2.1adc驱动程序需要包含的头文件
6.2.2adc驱动程序的file_operations结构体变量
6.2.3adc驱动程序的加载函数
6.2.4adc驱动程序的卸载函数
6.2.5adc驱动程序的接口函数
6.2.6adc中断处理函数
6.3adc驱动程序的编译及测试
6.3.1测试程序
6.3.2adc驱动程序的编译
6.3.3adc驱动程序的测试
习题6
第7章 块设备驱动程序
7.1有关块设备的数据结构
7.1.1block_device_operations结构
7.1.2gendisk结构
7.1.3request_queue结构
7.1.4buffer_head结构
7.1.5request结构
7.2块设备驱动程序的设计
7.2.1块设备驱动程序的组成
7.2.2文件包含与宏定义
7.2.3block_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.1sd卡功能概述
8.1.1总线协议
8.1.2sd卡的引脚
8.1.3sd卡的命令
8.1.4sd卡的响应
8.1.5sd卡的寄存器
8.1.6sd卡的状态及操作模式
8.2s3c2410x sdi接口概述
8.2.1sdi寄存器
8.2.2sdi的初始化
8.2.3sd卡命令的发送
8.2.4数据的读写
8.3基于s3c2410x的sd卡驱动程序设计
8.3.1sd卡驱动程序的加载函数
8.3.2sd卡驱动程序的卸载函数
8.3.3sd卡驱动程序的接口函数
8.3.4sd卡驱动程序的request函数
8.4sd卡驱动程序的编译及测试
8.4.1sd卡驱动程序的编译
8.4.2sd卡驱动程序的测试
习题8
第9章 网络设备驱动程序
9.1有关网络设备的数据结构
9.1.1net_device结构体
9.1.2sk_buff结构体
9.2网络设备驱动程序开发常用的内核函数
9.2.1sk_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.1ax88796芯片与cpu的接口
10.1.1ax88796与cpu的接口信号
10.1.2s3c2410 cpu与ax88796接口的信号
10.1.3s3c2410 cpu与网卡芯片接口相关的寄存器
10.1.4up-netarm 2410-s中ax88796与s3c2410 cpu的连接
10.2ax88796 mac核心寄存器
10.2.1mac核心寄存器概述
10.2.2常用的mac核心寄存器
10.3ax88796芯片的缓冲区操作
10.3.1数据包的接收
10.3.2数据包的发送
10.3.3填充数据包到发送缓冲区以及从接收缓冲区环移走数据包
10.4ax88796驱动程序设计
10.4.1ax88796.h
10.4.2ax88796驱动程序的加载函数
10.4.3ax88796驱动程序的卸载函数
10.4.4ax88796驱动程序的接口函数
10.4.5ax88796驱动程序的中断处理程序
10.5ax88796驱动程序的编译及测试
10.5.1ax88796网络驱动程序的编译
10.5.2ax88796驱动程序的测试
习题10
参考文献
|
|