《“十一五”高等院校规划教材:嵌入式接口技术与Linux驱动开发》[52M]百度网盘|pdf下载|亲测有效
《“十一五”高等院校规划教材:嵌入式接口技术与Linux驱动开发》[52M]百度网盘|pdf下载|亲测有效

“十一五”高等院校规划教材:嵌入式接口技术与Linux驱动开发 pdf下载

出版社 北京航空航天大学出版社京东自营官方旗舰店
出版年 2010-04
页数 390页
装帧 精装
评分 8.8(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供“十一五”高等院校规划教材:嵌入式接口技术与Linux驱动开发电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

内容简介

  《嵌入式接口技术与Linux驱动开发》以软硬件相结合、底层驱动与上层应用相结合的方法,介绍了嵌入式接口技术的基本原理及应用设计技术。全书可分为4个部分:第1、2章是全书的基础,主要介绍了嵌入式接口技术的软硬件基础知识,并深入介绍了嵌入式Linux驱动的基本原理;第3章在介绍嵌入式存储接口设计的基础上说明了最小系统设计、Bootloader移植以及嵌入式Linux的芯片级和板级移植;第4~6章以小键盘、实时时钟和触摸屏接口为例,在硬件方面介绍嵌入式系统中简单I/O接口的扩展技术以及GPIO的输入/输出和中断功能的使用,同时在软件上介绍这些设备接口的驱动与控制方法,如基于定时器的程序查询式I/O控制、阻塞型和非阻塞型I/O、异步I/O信号的支持方法和中断处理方法、Linux内核的实时时钟子系统和输入设备子系统的使用等;第7~9章介绍了一些软硬件都较为复杂的嵌入式接口,它们包括以太网接口与网络设备驱动原理、PCMCIA接口与PCMCIA驱动原理、AC97音频接口与基于ALSA架构的音频驱动设计。
  《嵌入式接口技术与Linux驱动开发》可作为高等院校电类相关专业硕士研究生或高年级本科生的教材,也可以作为嵌入式系统工程师的实用参考书。

内页插图

目录

第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

精彩书摘

  嵌入式系统是一种应用于特定领域的专用计算机系统,它的应用场合多种多样,所连接的外设种类繁多。这些设备不仅结构和工作原理不同,它们的连接方式也可能完全不同。为了便于实现嵌入式系统的处理器与各种外设的连接,避免嵌入式处理器陷入与各种外设打交道的沉重负担之中,通常需要使用I/O接口作为嵌入式处理器与外设之间信息交换的中间环节。这也意味着,I/O接口是嵌入式系统中必不可少的重要组成部分,是嵌入式处理器与外部世界进行信息交换和传输的纽带与桥梁。
  嵌入式系统作为一种特殊形态的计算机系统,尽管其形态各异,应用场合也不尽相同。但各种嵌入式系统与其他的计算机系统有着相同的内涵.从硬件系统结构上看,嵌入式系统同普通的计算机系统一样,由处理器、存储器(RAM和ROM)和输入/输出设备组成。从逻辑上看,嵌入式系统和其他计算机系统一样,都是采用总线连接方式将系统的各个部件连接在一起,也就是通过地址总线、数据总线和控制总线将计算机系统的处理器、存储器和外部I/0设备等各个部件连接在一起,并以总线作为处理器与其他部件之间信息传输的公共通道。这种以总线连接方式构成的计算机系统结构如图1-1所示。
  在计算机系统的这种结构中,处理器是整个系统的核心,数据的存取和计算以及外部I/O设备的操作和控制工作都由处理器承担。采用总线结构能使计算机系统的构造较为方便和灵活,但计算机系统中的各种外设千差万别,它们的控制方式、处理速度和信息输入/输出的格式各不相同。

前言/序言

  随着嵌入式技术的发展,各种各样的嵌入式系统应用已经渗入到我们生活的各个角落。这些种类繁多的嵌入式系统,其本质上都是相同的,都是一种专用的计算机系统,只不过它们的形态各异,接口的种类繁多。在嵌入式系统中,这些复杂多变的接口是嵌入式系统与外部世界联系的桥梁与纽带,有着重要的作用.这也就意味着嵌入式接口技术在嵌入式系统中有着重要的作用.
  嵌入式接口的设计是嵌入式系统设计中的一个重要部分。然而,嵌入式接口的设计并不仅仅是硬件设计,嵌入式系统软硬件紧密结合的特点在嵌入式接口的设计中体现得尤为突出。嵌入式接口的设计既要完成硬件接口的设计又要完成软件接口的设计,并使软硬件能相互配合、协同工作,这使得嵌入式接口的设计成为嵌入式系统设计的一大难点。为此,本书以软硬件相结合、底层驱动与上层应用相结合的方式介绍嵌入式接口的原理与设计,以帮助有志于从事嵌入式系统设计的读者,提高嵌入式系统软硬件综合设计的能力。
  本书源于《嵌入式系统设计与应用开发》一书,原书中与嵌入式接口以及LinuX底层驱动相关章节的内容经扩充和改写后形成本书(原书中对嵌入式系统基础知识阐述部分,经扩充和改写后形成了《嵌入式LinuX系统设计》一书,已于2008年在北京航空航天大学出版社出版)。本书主要面向已掌握嵌入式系统设计开发基础识,希望进一步了解嵌入式系统的接口设计与LinuX底层驱动开发的读者。书中LinuX内核源码版本以2.6.20版为基础。