出版时间:2008-3 出版社:人民邮电 作者:李俊 页数:416
Tag标签:无
内容概要
嵌入式Linux设备驱动是嵌入式系统中十分重要的组成部分。本书详细讲解了嵌入式Linux的各种设备驱动,包括字符设备驱动、数字显示驱动、键盘驱动、A/D驱动、D/A驱动、LCD驱动、触摸屏驱动、CAN总线驱动、IIC总线驱动、音频总线驱动、IDE接口驱动、闪存芯片驱动、USB驱动、串口驱动、网络设备驱动等,并结合大量实例进行讲解,读者可以快速熟悉和掌握相关知识。 本书内容丰富,专业性和实用性强,适合嵌入式系统设计人员以及高校相关专业师生学习和使用。
书籍目录
第1章 嵌入式系统与驱动程序 本章目标 1.1 嵌入式系统概述 1.1.1 嵌入式系统的概念 1.1.2 嵌入式系统的特点 1.1.3 嵌入式系统的体系结构 1.2 嵌入式处理器介绍 1.2.1 嵌入式处理器分类 1.2.2 ARM概述 1.2.3 ARM系列芯片简介 1.3 嵌入式操作系统介绍 1.3.1 主流嵌入式操作系统 1.3.2 嵌入式系统的发展状况 1.3.3 嵌入式Linux介绍 1.3.4 嵌入式系统开发环境的建立 1.3.5 嵌入式软件开发 1.4 嵌入式Linux驱动程序 1.4.1 嵌入式Linux的内核空间和用户空间 1.4.2 嵌入式Linux的文件系统 1.4.3 嵌入式Linux的设备管理 1.4.4 嵌入式Linux的驱动程序 1.5 知识索引 1.6 思考与练习 第2章 简单的字符设备驱动程序 本章目标 2.1 嵌入式Linux字符设备的驱动程序结构 2.1.1 嵌入式Linux驱动程序常用的头文件 2.1.2 File_operations结构体 2.1.3 字符设备驱动程序的入口 2.1.4 驱动程序的设备注册 2.2 设备驱动程序中的具体问题 2.2.1 I/O端口 2.2.2 内存操作 2.2.3 中断处理 2.3 LED的驱动程序实例及测试 2.3.1 LED I/O端口设置 2.3.2 LED硬件电路设计 2.3.3 LED驱动程序设计 2.3.4 LED测试程序设计 2.4 嵌入式Linux中断处理驱动程序及测试 2.4.1 中断处理过程 2.4.2 中断向量表 2.4.3 中断的处理模式 2.4.4 中断的优先级 2.4.5 中断的嵌套 2.4.6 中断源的扩展 2.4.7 中断控制寄存器的设置 2.5 按键中断的驱动程序实例 2.5.1 按键中断的电路设计 2.5.2 按键中断的驱动程序设计 2.6 知识索引 2.7 思考与练习 第3章 数字显示驱动程序 本章目标 3.1 数字显示器 3.1.1 数码管简介 3.1.2 数码管的分类 3.1.3 数码管显示原理 3.2 数码管显示电路的硬件设计 3.2.1 译码器的使用 3.2.2 数码管的驱动方式 3.2.3 串/并变换的译码设计 3.3 数码管驱动程序实例 3.3.1 驱动程序的初始化和卸载模块 3.3.2 文件操作结构模块 3.3.3 数码管的打开模块 3.3.4 数码管的读写模块 3.3.5 数码管的I/O控制模块 3.3.6 数码管的退出模块 3.3.7 驱动程序的模块加载和卸载 3.4 数码管显示电路测试程序设计 3.4.1 数码管测试设计 3.4.2 数码管测试程序 3.4.3 数码管测试效果 3.5 知识索引 3.6 思考与练习 第4章 键盘驱动程序 本章目标 4.1 键盘接口概述 4.1.1 键盘的分类 4.1.2 键盘的防抖 4.1.3 键盘的扫描 4.1.4 键盘的缓冲算法 4.2 键盘的驱动设计实例 4.2.1 锁存器和缓冲器扩展键盘 4.2.2 锁存器和缓冲器的接口 4.2.3 锁存器和缓冲器扩展键盘驱动程序设计 4.2.4 锁存器和缓冲器扩展键盘测试程序设计 4.3 智能控制芯片HD7279扩展键盘 4.3.1 HD7279的电路设计 4.3.2 HD7279的指令介绍 4.3.3 HD7279的串行接口 4.3.4 HD7279的驱动程序设计 4.3.5 HD7279的测试程序设计 4.4 知识索引 4.5 思考与练习 第5章 A/D驱动程序 本章目标 5.1 A/D转换的过程 5.1.1 采样和保持 5.1.2 量化和编码 5.1.3 ADC的分类 5.2 A/D转换器的基本原理 5.2.1 逐次逼近型A/D转换器 5.2.2 双积分型A/D转换器 5.2.3 V/F和F/V型转换器 5.2.4 其他A/D转换器 5.3 A/D转换器接口技术 5.3.1 ADC的主要参数及意义 5.3.2 ADC的电路选择方法 5.3.3 ADC实际应用中的问题 5.4 S3C2410 A/D转换驱动设计实例 5.4.1 S3C2410的A/D转换电路 5.4.2 S3C2410X的A/D转换控制寄存器 5.4.3 S3C2410X的A/D转换数据寄存器 5.4.4 S3C2410X中A/D转换驱动程序的设计 5.4.5 S3C2410X中A/D转换测试程序的设计 5.5 知识索引 5.6 思考与练习 第6章 D/A驱动程序 本章目标 6.1 D/A的原理介绍 6.1.1 D/A转换的概念及基本原理 6.1.2 电子模拟开关 6.1.3 D/A转换器的基本结构 6.1.4 D/A转换的静态参数 6.1.5 D/A转换的动态参数 6.2 D/A转换的硬件电路设计 6.2.1 D/A转换的接口技术 6.2.2 D/A转换芯片介绍 6.2.3 D/A转换的电路设计 6.3 D/A转换器的驱动程序实例 6.3.1 D/A驱动程序中的宏定义 6.3.2 D/A的模块加载 6.3.3 D/A转换器的文件操作模块 6.3.4 D/A转换器的读写控制模块 6.3.5 D/A转换器的打开、退出模块 6.4 测试程序的设计 6.4.1 D/A测试程序中的宏定义 6.4.2 D/A测试程序的主函数 6.4.3 D/A测试程序中的功能函数 6.4.4 D/A测试程序中的功能打印函数 6.4.5 D/A测试程序中的波形生成函数 6.4.6 D/A测试程序的效果 6.5 知识索引 6.6 思考与练习 第7章 LCD驱动程序 本章目标 7.1 LCD显示器概述 7.1.1 液晶 7.1.2 LCD显示屏的背光 7.1.3 LCD显示器的分类 7.1.4 LCD的显示原理 7.1.5 LCD的驱动方式 7.1.6 LCD的常用指标 7.2 LCD的显示接口 7.2.1 灰度STN的时序 7.2.2 彩色STN的时序 7.2.3 TFT的时序 7.3 嵌入式处理器的LCD控制器 7.3.1 LCD控制器 7.3.2 LCD控制器的设置 7.3.3 LCD的字符显示缓存 7.4 LCD的驱动程序设计 7.4.1 LCD驱动程序相关的宏定义 7.4.2 LCD驱动程序的底层操作函数 7.4.3 LCD驱动程序提供的API 7.4.4 LCD驱动程序的模块化加载 7.4.5 LCD的测试程序 7.5 基于Framebuffer的LCD驱动程序实例 7.5.1 Framebuffer概述 7.5.2 LCD的电路连接 7.5.3 Framebuffer设备驱动程序的结构 7.5.4 Framebuffer设备驱动程序的设计 7.5.5 Framebuffer设备测试程序的设计 7.5.6 嵌入式Linux常用的GUI 7.6 知识索引 7.7 思考与练习 第8章 触摸屏驱动程序 本章目标 8.1 触摸屏概述 8.2 触摸屏的分类 8.2.1 电阻技术触摸屏 8.2.2 表面声波技术触摸屏 8.2.3 电容电感技术触摸屏 8.2.4 红外线技术触摸屏 8.3 触摸屏的特性 8.3.1 透明度和色彩失真 8.3.2 反光性 8.3.3 清晰度 8.3.4 漂移 8.3.5 检测和定位 8.4 触摸屏的硬件电路设计 8.4.1 电阻式触摸屏的电路原理 8.4.2 电阻式触摸屏原点的定位 8.4.3 电阻式触摸屏的电路连接 8.5 触摸屏的驱动程序实例 8.5.1 触摸屏接口的模式 8.5.2 A/D转换和触摸屏寄存器的设置 8.5.3 触摸屏的坐标 8.5.4 触摸屏的电路连接 8.5.5 触摸屏的驱动程序接口 8.6 测试程序的设计 8.6.1 触摸屏的数据定义 8.6.2 触摸屏的数据处理 8.6.3 触摸屏的运行测试 8.7 知识索引 8.8 思考与练习 第9章 CAN总线驱动程序 本章目标 9.1 CAN总线接口设计 9.1.1 CAN总线概述 9.1.2 CAN的工作特点及主要优点 9.1.3 CAN总线的电气特征和MAC帧结构 9.2 嵌入式处理器上CAN总线接口的扩展 9.2.1 SJA1000简介 9.2.2 SJA1000扩展 9.3 SJA1000扩展CAN总线接口的设计 9.3.1 CAN 控制器SJA1000的操作模式 9.3.2 CAN控制器SJA1000的特征功能 9.3.3 CAN 控制器SJA1000的Basic CAN模式设置 9.4 SJA1000扩展CAN总线接口的通信 9.4.1 通过CAN总线建立通信的步骤 9.4.2 SJA1000的初始化 9.4.3 驱动程序的结构设计 9.4.4 驱动程序init、exit、open、close函数的实现 9.4.5 驱动程序read、write函数的实现 9.4.6 驱动程序interrupt、ioctl函数实现 9.4.7 测试程序的编写 9.5 驱动程序的加载 9.6 知识索引 9.7 思考与练习 第10章 IIC总线驱动程序 本章目标 10.1 IIC总线概述 10.1.1 IIC总线介绍 10.1.2 IIC总线引入的原因 10.1.3 IIC总线的特点 10.1.4 IIC总线的基本结构 10.1.5 IIC总线的术语 10.1.6 IIC总线的工作 10.1.7 IIC总线的竞争仲裁 10.1.8 IIC总线的工作流程 10.2 嵌入式处理器的IIC接口 10.2.1 IIC总线控制寄存器 10.2.2 IIC总线控制/状态寄存器 10.2.3 IIC总线地址寄存器 10.2.4 IIC总线移位数据寄存器 10.2.5 S3C2410中与IIC对应的I/O端口 10.3 基于IIC的键盘芯片应用 10.3.1 ZLG7290的功能 10.3.2 ZLG7290的控制方式 10.3.3 ZLG7290的寄存器 10.3.4 ZLG7290的通信接口 10.3.5 ZLG7290的指令介绍 10.4 IIC总线驱动程序实例 10.4.1 ZLG7290的电路连接 10.4.2 ZLG7290的通信流程 10.4.3 ZLG7290驱动中变量的定义 10.4.4 ZLG7290驱动中实时时钟的改变 10.4.5 ZLG7290和IIC寄存器的初始化 10.4.6 ZLG7290驱动程序的模块化 10.4.7 ZLG7290的文件操作结构 10.5 IIC总线的测试程序 10.6 知识索引 10.7 思考与练习 第11章 音频总线驱动程序 本章目标 11.1 音频总线接口概述 11.1.1 音频的采样精度 11.1.2 音频编码 11.2 IIS音频总线接口 11.2.1 IIS总线的物理连接 11.2.2 IIS的总线协议 11.2.3 IIS总线的硬件设计 11.2.4 IIS总线的寄存器 11.3 AC97音频总线接口 11.4 IIS总线的驱动程序设计 11.4.1 音频设备基础知识 11.4.2 音频设备文件 11.4.3 WAV声音文件 11.4.4 音频设备和驱动程序的通信 11.4.5 设备的初始化和加载 11.4.6 DMA的操作和宏定义 11.4.7 audio设备文件的操作 11.4.8 mixer设备文件的操作 11.5 音频驱动程序的测试 11.6 知识索引 11.7 思考与练习 第12章 IDE接口驱动程序 本章目标 12.1 IDE接口概述 12.1.1 硬盘知识介绍 12.1.2 IDE接口标准 12.1.3 IDE接口的传输模式 12.1.4 IDE接口寄存器 12.2 IDE接口驱动程序的移植 12.2.1 嵌入式Linux下IDE驱动程序接口 12.2.2 嵌入式Linux下IDE驱动程序 12.2.3 IDE硬盘的读/写操作 12.3 IDE驱动程序测试 12.3.1 磁盘文件系统简介 12.3.2 IDE分区测试 12.4 知识索引 12.5 思考与练习 第13章 闪存芯片的驱动程序 本章目标 13.1 闪存芯片概述 13.1.1 闪存芯片的物理特性 13.1.2 嵌入式文件系统概述 13.1.3 MTD体系介绍 13.1.4 Flash专有名词 13.2 NAND Flash 13.2.1 NAND Flash的结构 13.2.2 NAND Flash的操作 13.2.3 NAND Flash控制器 13.2.4 NAND Flash的时序 13.2.5 NAND Flash的驱动程序实例 13.3 NOR Flash 13.3.1 NOR Flash的结构 13.3.2 NOR Flash的操作 13.3.3 NOR Flash的驱动程序实例 13.4 基于闪存的文件系统 13.5 知识索引 13.6 思考与练习 第14章 USB 设备驱动程序 本章目标 14.1 USB接口概述 14.1.1 USB系统 14.1.2 USB的电气特性 14.1.3 USB总线的拓扑结构 14.1.4 USB的通信协议 14.2 嵌入式系统中USB的使用 14.2.1 OHCI概述 14.2.2 Host接口硬件设计 14.3 嵌入式系统中USB设备的驱动程序设计 14.3.1 USB设备驱动程序的分类 14.3.2 USB驱动的骨架程序 14.3.3 设备端USB驱动程序 14.3.4 USB键盘飞梭的驱动程序 14.4 USB驱动程序测试 14.4.1 热插拔 14.4.2 利用hotplug脚本实现设备的自动加载 14.5 知识索引 14.6 思考与练习 第15章 串口驱动程序 本章目标 15.1 串口概述 15.1.1 同步串口的传输标准 15.1.2 异步串口的传输标准 15.1.3 串口的物理层标准 15.1.4 串口的电平逻辑转换 15.2 嵌入式处理器串口控制器 15.2.1 嵌入式系统中常用的UART控制器 15.2.2 S3C2410中的UART控制器 15.3 嵌入式Linux串口驱动程序设计 15.3.1 异步串口的工作流程 15.3.2 串口的驱动程序结构 15.3.3 串口驱动程序的注册 15.3.4 ops中的串口操作函数 15.3.5 串口驱动中与控制台有关的函数 15.4 嵌入式Linux串口的应用程序设计 15.4.1 串口编程需要用到的头文件 15.4.2 串口的终端函数 15.4.3 RS-485和RS-232的通信 15.5 基于串口的GPRS应用实例 15.5.1 GPRS简介 15.5.2 GPRS的电路设计 15.5.3 GPRS的程序分析 15.6 基于串口的GPS应用实例 15.6.1 GPS简介 15.6.2 GPS应用程序设计 15.7 知识索引 15.8 思考与练习 第16章 网络设备驱动程序 本章目标 16.1 以太网概述 16.1.1 以太网的连接 16.1.2 以太网的工作原理 16.1.3 以太网的帧结构 16.1.4 TCP/IP网络协议 16.1.5 嵌入式系统中常用的网络协议 16.2 嵌入式处理器的以太网接口 16.2.1 带有MAC层控制协议的处理器 16.2.2 通过以太网芯片扩展网络接口 16.3 以太网驱动程序体系结构 16.3.1 网络驱动程序的结构 16.3.2 网络设备初始化 16.3.3 数据包的发送与接收 16.3.4 网络设备的加载方式 16.3.5 常用的系统支持 16.4 网卡驱动程序实例 16.4.1 NE2000的内核支持 16.4.2 网络接口的初始化 16.4.3 网络接口设备的打开和关闭 16.4.4 数据包发送和接收 16.4.5 网络驱动程序的基本操作 16.4.6 编写嵌入式Linux网络驱动程序中需要注意的问题 16.5 网络驱动程序的测试 16.5.1 嵌入式Linux的网络配置 16.5.2 NFS文件系统 16.5.3 socket编程 16.5.4 socket编程实例 16.6 知识索引 16.7 思考与练习
编辑推荐
《嵌入式Linux设备驱动开发详解》非常实用。《嵌入式Linux设备驱动开发详解》特色:《嵌入式Linux设备驱动开发详解》系统地介绍了嵌入式Linux设备驱动开发的相关知识和实例,主要包括:数码管驱动程序;键盘驱动程序;A/D、D/A驱动程序;LCD驱动程序;触摸屏驱动程序;CAN总线驱动程序;I2C总线驱动程序;音频总线驱动程序;IDE驱动程序;NAND Flash和NOR Flash驱动程序;USB设备驱动程序;串口驱动程序;网络设备驱动程序。实例丰富、讲解细致、代码分析详尽,嵌入式Linux设备驱动开发的理想参考用书。
图书封面
图书标签Tags
无
评论、评分、阅读与下载