《嵌入式接口技术与Linux驱动开发》是2010年4月1日北京航空航天大学出版社出版的图书,作者是郑灵翔。
基本介绍
- 书名:嵌入式接口技术与Linux驱动开发
- 作者:郑灵翔
- ISBN:9787512400641
- 定价:32.00元
- 出版社:北京航空航天大学出版社
- 出版时间:2010年4月1日
- 装帧:平装
- 开本:16
内容简介
《嵌入式接口技术与Linux驱动开发》以软硬体相结合、底层驱动与上层套用相结合的方法,介绍了嵌入式接口技术的基本原理及套用设计技术。全书可分为4个部分。 《嵌入式接口技术与Linux驱动开发》可作为高等院校电类相关专业硕士研究生或高年级本科生的教材,也可以作为嵌入式系统工程师的实用参考书。
第1、2章是全书的基础,主要介绍了嵌入式接口技术的软硬体基础知识,并深入介绍了嵌入式Linux驱动的基本原理;第3章在介绍嵌入式存储接口设计的基础上说明了最小系统设计、Bootloader移植以及嵌入式Linux的晶片级和板级移植;第4~6章以小键盘、实时时钟和触控萤幕接口为例,在硬体方面介绍嵌入式系统中简单I/O接口的扩展技术以及GPIO的输入/输出和中断功能的使用,同时在软体上介绍这些设备接口的驱动与控制方法,如基于定时器的程式查询式I/O控制、阻塞型和非阻塞型I/O、异步I/O信号的支持方法和中断处理方法、Linux核心的实时时钟子系统和输入设备子系统的使用等;第7~9章介绍了一些软硬体都较为複杂的嵌入式接口,它们包括乙太网接口与网路设备驱动原理、PCMCIA接口与PCMCIA驱动原理、AC97音频接口与基于ALSA架构的音频驱动设计。
图书目录
第1章 嵌入式系统接口技术概述1
1.1 嵌入式系统的架构与I/O接口的连线方式1
1.1.1 嵌入式系统的基本结构1
1.1.2 嵌入式SOC处理器与片上I/O接口2
1.1.3 嵌入式系统的I/O接口的扩展3
1.2 接口的基本功能4
1.3 I/O接口及其编址方式5
1.4 I/O接口扩展方法6
1.5 I/O设备的控制方法12
第2章 Linux核心设备驱动原理15
2.1 基本原理15
2.1.1 Linux作业系统的架构15
2.1.2 嵌入式系统的开发模式与嵌入式Linux设备驱动16
2.1.3 Linux设备的分类17
2.1.4 Linux设备的标识18
2.2 核心模组18
2.2.1 什幺是核心模组18
2.2.2 核心模组的框架19
2.2.3 核心模组的编译21
2.3 Linux核心编程常见操作25
2.4 设备驱动程式的结构30
2.4.1 虚拟档案系统与硬体驱动的接口31
2.4.2 简单字元设备的驱动32
2.5 Linux2.6 核心的中断处理37
2.5.1 Linux中断处理流程37
2.5.2 外部中断的描述与处理41
2.5.3 中断处理程式的注册与释放45
2.5.4 中断处理程式的编写46
2.6 Linux2.6 核心的工作推后执行的机制46
2.6.1 软中断47
2.6.2 Tasklet47
2.6.3 工作伫列49
2.7 Linux2.6 核心设备模型52
2.7.1 Linux2.6 设备模型概述52
2.7.2 核心设备驱动模型的组件54
2.7.3 sysfs档案系统、udev和Linux核心设备模型58
2.7.4 平台汇流排设备61
本章小结66
习题与思考题67
第3章 最小硬体系统设计与底层软体移植68
3.1 最小硬体系统设计68
3.1.1 系统存储器接口69
3.1.2 串列通信接口电路原理73
3.2 最小硬体系统的配置74
3.2.1 处理器的配置74
3.2.2 FLASH&SDRAM的配置76
3.2.3 GPIO和串口的配置79
3.3 最小硬体系统与Bootloader81
3.3.1 Uboot启动阶段1的处理过程82
3.3.2 Uboot启动阶段2的处理过程87
3.3.3 Uboot移植原理88
3.3.4 基于Uboot的硬体调试94
3.4 Linux2.6 核心移植原理96
3.4.1 外部中断初始化97
3.4.2 DMA接口101
3.4.3 系统时钟接口103
3.4.4 片上设备I/O地址空间的静态映射106
3.4.5 片上I/O设备的定义108
3.5 最小硬体系统与Linux2.6 核心移植109
3.5.1 建立开发板平台描述档案109
3.5.2 编写硬体include档案111
3.5.3 修改核心配置档案111
本章小结112
习题与思考题112
第4章 小键盘接口设计与Linux驱动开发113
4.1 硬体原理113
4.1.1 接口设计114
4.1.2 电路原理114
4.2 软体驱动原理116
4.2.1 核心模组的载入和卸载函式117
4.2.2 虚拟档案系统与硬体驱动的接口118
4.2.3 设备打开操作接口函式118
4.2.4 设备读取操作接口函式119
4.2.5 设备关闭操作接口函式119
4.2.6 攫取键值子函式120
4.2.7 读缓冲区子函式121
4.2.8 定时器在程式查询式I/O控制方式中的套用122
4.2.9 利用等待伫列实现阻塞型I/O123
4.2.1 0poll()系统调用接口函式124
4.2.1 1信号驱动的异步I/O操作的支持126
4.3 键盘信息读取应用程式127
4.3.1 打开键盘设备127
4.3.2 读取键值128
4.3.3 关闭键盘设备129
本章小结129
习题与思考题129
第5章 实时时钟接口与Linux驱动开发130
5.1 实时时钟接口电路设计130
5.1.1 处理器与RTC4513接口设计130
5.1.2 RTC4513电路原理131
5.1.3 RTC4513操作参数134
5.1.4 RTC4513的串列操作流程136
5.2 RTC软体驱动原理140
5.2.1 核心模组的载入和卸载140
5.2.2 虚拟档案系统与硬体驱动的接口140
5.2.3 设备打开操作接口函式141
5.2.4 ioctl方法141
5.2.5 设备关闭操作接口函式145
5.2.6 读时钟暂存器子函式146
5.2.7 写时钟暂存器子函式146
5.3 RTC操作应用程式147
5.4 基于Linux核心实时时钟子系统的RTC驱动149
5.4.1 RTC设备驱动接口150
5.4.2 实时时钟子系统的rtcdev模组与上层API152
本章小结154
习题与思考题154
第6章 触控萤幕接口设计与Linux驱动开发156
6.1 触控萤幕的工作原理156
6.2 ADS7843触控萤幕控制器简介157
6.3 处理器与ADS7843的接口设计160
6.3.1 接口电路设计160
6.3.2 Microwire数据帧结构161
6.4 软体驱动原理162
6.4.1 Linux输入设备子系统162
6.4.2 触控萤幕硬体操控原理167
6.4.3 触控萤幕驱动与输入设备子系统的接口169
6.4.4 中断处理173
6.5 基于触控萤幕驱动的套用示例175
本章小结177
习题与思考题178
第7章 乙太网电路设计与Linux驱动开发179
7.1 CS8900A乙太网晶片简介179
7.1.1 功能介绍179
7.1.2 引脚定义180
7.2 处理器与乙太网接口电路设计180
7.3 CS8900A片内暂存器介绍182
7.3.1 汇流排接口暂存器组182
7.3.2 状态与控制暂存器组183
7.3.3 传送初始化暂存器组191
7.3.4 地址过滤暂存器组192
7.4 CS8900A的操作方法193
7.4.1 CS8900的初始化193
7.4.2 CS8900A的I/O模式暂存器194
7.4.3 读写CS8900A的片内暂存器194
7.5 软体驱动原理195
7.5.1 Linux网路设备驱动框架195
7.5.2 Linux网路协定栈与驱动间的接口196
7.5.3 Linux网路设备接口201
7.5.4 CS8900A驱动中的网路设备操作接口实现203
7.5.5 数据接收与中断处理207
7.5.6 利用平台汇流排设备封装网路驱动212
本章小结217
习题与思考题217
第8章 PCMCIA外围电路设计和Linux驱动开发218
8.1 基于PXA2XX处理器的PCMCIA接口218
8.1.1 PCMCIA和CF接口简介218
8.1.2 PCMCIA存储器映射219
8.1.3 PCMCIA外部接口设计220
8.2 外围电路驱动原理220
8.2.1 双向收发器74LCX245的使用220
8.2.2 CF卡插入检测224
8.2.3 “卡读(写)使能”信号224
8.2.4 PCMCIA接口的SocketSelect224
8.2.5 PCMCIA接口的电源管理226
8.3 GPIO连线原理227
8.3.1 存储控制单元的GPIO连线原理227
8.3.2 与中断相关的GPIO连线原理228
8.4 PCMCIA软体驱动原理229
8.4.1 PCMCIA驱动程式体系229
8.4.2 PCMCIA工作流程230
8.4.3 插口驱动设计231
8.5 PCMCIACardServices软体包233
8.5.1 软体包的安装233
8.5.2 特定卡驱动234
8.5.3 CF存储卡的使用235
本章小结237
习题与思考题237
第9章 AC97音频处理电路设计与Linux驱动开发238
9.1 PXA2XXAC97硬体工作原理238
9.1.1 PXA2XXAC97音频处理电路设计238
9.1.2 PXA2XXAC97控制单元239
9.1.3 CS4299音频编解码器245
9.2 LinuxALSA音频设备驱动原理249
9.2.1 ALSA简介249
9.2.2 ALSA音效卡驱动架构250
9.2.3 ALSA驱动中的音效卡描述对象与音频设备组件管理251
9.2.4 ALSA驱动的PCM中间层254
9.2.5 ALSA驱动的AC97编解码器中间层256
9.3 PXA2XXAC97的ALSA驱动259
9.3.1 硬体初始化与音效卡描述对象的创建和注册260
9.3.2 PCM接口及其底层硬体操作接口的实现262
9.3.3 AC97的底层硬体操作接口实现266
本章小结270
习题与思考题270
参考文献271