嵌入式接口技术与Linux驱动开发

出版时间:2010-4  出版社:北京航空航天大学出版社  作者:郑灵翔  页数:273  
Tag标签:无  

前言

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

内容概要

本书以软硬件相结合、底层驱动与上层应用相结合的方法,介绍了嵌入式接口技术的基本原理及应用设计技术。全书可分为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架构的音频驱动设计。    本书可作为高等院校电类相关专业硕士研究生或高年级本科生的教材,也可以作为嵌入式系统工程师的实用参考书。

书籍目录

第1章  嵌入式系统接口技术概述  1.1  嵌入式系统的架构与I/O接口的连接方式    1.1.1  嵌入式系统的基本结构    1.1.2  嵌入式SOC处理器与片上I/O接口    1.1.3  嵌入式系统的I/O接口的扩展  1.2  接口的基本功能  1.3  I/O接口及其编址方式  1.4  I/O接口扩展方法  1.5  I/O设备的控制方法第2章  Linux内核设备驱动原理  2.1  基本原理    2.1.1  Linux操作系统的架构    2.1.2  嵌入式系统的开发模式与嵌入式Linux设备驱动    2.1.3  Linux设备的分类    2.1.4  Linux设备的标识  2.2  内核模块    2.2.1  什么是内核模块    2.2.2  内核模块的框架    2.2.3  内核模块的编译  2.3  Linux内核编程常见操作  2.4  设备驱动程序的结构    2.4.1  虚拟文件系统与硬件驱动的接口    2.4.2  简单字符设备的驱动  2.5   Linux 2.6内核的中断处理    2.5.1  Linux中断处理流程    2.5.2  外部中断的描述与处理    2.5.3  中断处理程序的注册与释放    2.5.4  中断处理程序的编写  2.6  Linux 2.6内核的工作推后执行的机制    2.6.1  软中断    2.6.2  Tasklet    2.6.3  工作队列  2.7  Linux 2.6内核设备模型    2.7.1  Linux 2.6设备模型概述    2.7.2  内核设备驱动模型的组件    2.7.3  sysfs文件系统、udev和Linux内核设备模型    2.7.4  平台总线设备  本章小结  习题与思考题第3章  最小硬件系统设计与底层软件移植  3.1  最小硬件系统设计    3.1.1  系统存储器接口    3.1.2  串行通信接口电路原理  3.2  最小硬件系统的配置    3.2.1  处理器的配置    3.2.2  FLASH & SDRAM的配置    3.2.3  GPIO和串口的配置  3.3  最小硬件系统与Bootloader    3.3.1  Uboot启动阶段1的处理过程    3.3.2  Uboot启动阶段2的处理过程    3.3.3  Uboot移植原理    3.3.4  基于Uboot的硬件调试  3.4  Linux 2.6内核移植原理    3.4.1  外部中断初始化    3.4.2  DMA接口    3.4.3  系统时钟接口    3.4.4  片上设备I/O地址空间的静态映射    3.4.5  片上I/O设备的定义  3.5  最小硬件系统与Linux 2.6内核移植    3.5.1  建立开发板平台描述文件    3.5.2  编写硬件include文件    3.5.3  修改内核配置文件  本章小结  习题与思考题第4章  小键盘接口设计与Linux驱动开发  4.1  硬件原理    4.1.1  接口设计    4.1.2  电路原理  4.2  软件驱动原理    4.2.1  内核模块的加载和卸载函数    4.2.2  虚拟文件系统与硬件驱动的接口    4.2.3  设备打开操作接口函数    4.2.4  设备读取操作接口函数    4.2.5  设备关闭操作接口函数    4.2.6  攫取键值子函数    4.2.7  读缓冲区子函数    4.2.8  定时器在程序查询式I/O控制方式中的应用    4.2.9  利用等待队列实现阻塞型I/O    4.2.10  poll()系统调用接口函数    4.2.11  信号驱动的异步I/O操作的支持  4.3  键盘信息读取应用程序    4.3.1  打开键盘设备    4.3.2  读取键值    4.3.3  关闭键盘设备  本章小结  习题与思考题第5章  实时时钟接口与Linux驱动开发  5.1  实时时钟接口电路设计    5.1.1  处理器与RTC4513接口设计    5.1.2  RTC4513电路原理    5.1.3  RTC4513操作参数    5.1.4  RTC4513的串行操作流程  5.2  RTC软件驱动原理    5.2.1  内核模块的加载和卸载    5.2.2  虚拟文件系统与硬件驱动的接口    5.2.3  设备打开操作接口函数    5.2.4  ioctl方法    5.2.5  设备关闭操作接口函数    5.2.6  读时钟寄存器子函数    5.2.7  写时钟寄存器子函数  5.3  RTC操作应用程序  5.4  基于Linux内核实时时钟子系统的RTC驱动    5.4.1  RTC设备驱动接口    5.4.2  实时时钟子系统的rtcdev模块与上层API  本章小结  习题与思考题第6章  触摸屏接口设计与Linux驱动开发  6.1  触摸屏的工作原理  6.2  ADS7843触摸屏控制器简介  6.3  处理器与ADS7843的接口设计    6.3.1  接口电路设计    6.3.2  Microwire数据帧结构  6.4  软件驱动原理    6.4.1  Linux输入设备子系统    6.4.2  触摸屏硬件操控原理    6.4.3  触摸屏驱动与输入设备子系统的接口    6.4.4  中断处理  6.5  基于触摸屏驱动的应用示例  本章小结  习题与思考题第7章  以太网电路设计与Linux驱动开发  7.1  CS8900A以太网芯片简介    7.1.1  功能介绍    7.1.2  引脚定义  7.2  处理器与以太网接口电路设计  7.3  CS8900A片内寄存器介绍    7.3.1  总线接口寄存器组    7.3.2  状态与控制寄存器组    7.3.3  发送初始化寄存器组    7.3.4  地址过滤寄存器组  7.4  CS8900A的操作方法    7.4.1  CS8900的初始化    7.4.2  CS8900A的I/O模式寄存器    7.4.3  读写CS8900A的片内寄存器  7.5  软件驱动原理    7.5.1  Linux网络设备驱动框架    7.5.2  Linux网络协议栈与驱动间的接口    7.5.3  Linux网络设备接口    7.5.4  CS8900A驱动中的网络设备操作接口实现    7.5.5  数据接收与中断处理    7.5.6  利用平台总线设备封装网络驱动  本章小结  习题与思考题第8章  PCMCIA外围电路设计和Linux驱动开发  8.1  基于PXA2XX处理器的PCMCIA接口    8.1.1  PCMCIA和CF接口简介    8.1.2  PCMCIA存储器映射    8.1.3  PCMCIA外部接口设计  8.2  外围电路驱动原理    8.2.1  双向收发器74LCX245的使用    8.2.2  CF卡插入检测    8.2.3“卡读(写)使能”信号    8.2.4  PCMCIA接口的Socket Select    8.2.5  PCMCIA接口的电源管理  8.3  GPIO连接原理    8.3.1  存储控制单元的GPIO连接原理    8.3.2  与中断相关的GPIO连接原理  8.4  PCMCIA软件驱动原理    8.4.1  PCMCIA驱动程序体系    8.4.2  PCMCIA工作流程    8.4.3  插口驱动设计  8.5  PCMCIA Card Services 软件包    8.5.1  软件包的安装    8.5.2  特定卡驱动    8.5.3  CF存储卡的使用  本章小结  习题与思考题第9章  AC97音频处理电路设计与Linux驱动开发  9.1  PXA2XX AC97硬件工作原理    9.1.1  PXA2XX AC97音频处理电路设计    9.1.2  PXA2XX AC97控制单元    9.1.3  CS4299音频编解码器  9.2  Linux ALSA音频设备驱动原理    9.2.1  ALSA简介    9.2.2  ALSA声卡驱动架构    9.2.3  ALSA驱动中的声卡描述对象与音频设备组件管理    9.2.4  ALSA驱动的PCM中间层    9.2.5  ALSA驱动的AC97编解码器中间层  9.3  PXA2XX AC97的ALSA驱动    9.3.1硬件初始化与声卡描述对象的创建和注册    9.3.2  PCM接口及其底层硬件操作接口的实现    9.3.3  AC97的底层硬件操作接口实现  本章小结  习题与思考题参考文献

章节摘录

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

编辑推荐

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

图书封面

图书标签Tags

评论、评分、阅读与下载


    嵌入式接口技术与Linux驱动开发 PDF格式下载


用户评论 (总计7条)

 
 

  •   不像市面上很多linux驱动的书那么空洞,这本书例子详实值得购买。
  •   觉得比较适合我,喜欢这样的风格~~
  •   还可以吧。。。。。。。。。。。。。。。。。。。
  •   现在还没有怎么看
  •   基础知识,初学者可以看下
  •   这本书还不错,推荐给大家
  •   还行吧,感觉书没有想象的那么好哦
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7