当前位置:嗨网首页>书籍在线阅读

18-全书结构

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.7 全书结构

本书第1篇给您打下Linux设备驱动的基础。第1章简要地介绍了设备驱动的作用,并从无操作系统的设备驱动引出了Linux操作系统下的设备驱动,介绍了本书所基于的开发环境。第2章系统地讲解了一个Linux驱动工程师应该掌握的硬件知识,为工程师打下Linux驱动编程的硬件基础,讲解了各种类型的CPU、存储器和常见的外设,并阐述了硬件时序分析方法和数据手册阅读方法。第3章将Linux设备驱动放在Linux 2.6内核背景中进行讲解,说明Linux内核的编程方法。由于驱动编程也在内核编程的范畴,因此,这一章实质是为编写Linux设备驱动打下软件基础。

第2篇讲解Linux设备驱动编程的基础理论、字符设备驱动及设备驱动设计中涉及的并发控制、同步等问题。第4、5章分别讲解Linux内核模块和Linux设备文件系统,第6~9章以虚拟设备globalmem和globalfifo为主线,逐步给其添加高级控制功能,第10、11章分别阐述Linux驱动编程中所涉及的中断和定时器、内核和I/O操作处理方法,本篇的第12章讲解了Linux设备驱动工程化的一些问题,属于承前启后的一章。

第3篇剖析复杂设备驱动的体系架构,每一章都给出了具体的实例。所涉及的设备包括块设备、终端设备、I2C适配器与I2C设备、网络设备、PCI设备、USB设备、LCD设备、Flash设备等。这一部分的讲解方法是抽象与具体相结合,先以模板的形式给出各种设备驱动的设计,然后用具体实例设备的驱动填充对应的模板。

第4篇分析了Linux设备驱动的调试和移植方法。由于在Linux设备驱动的设计工作中人们强调多快好省,因此,如果能方便地把现有的其他平台中的驱动移植到Linux 2.6平台,或者将类似设备的驱动进行简单修改就运用于新的设备,那将会极大地缩短工程的实施时间。本书的最后几章对Linux设备驱动移植中涉及的理论以及移植的技巧进行了讲解。

本章导读

本章讲述一个底层驱动工程师必备的硬件基础,给出了嵌入式系统硬件原理及分析方法的一个完整而简洁的全景视图。

2.1节描述了微控制器、微处理器、数字信号处理器以及应用于特定领域的处理器各自的特点,分析了处理器的体系架构和指令集。

2.2节对嵌入式系统中所使用的各类存储器与CPU的接口、应用领域及特点进行了归纳整理。

2.3节分析了常见的外设接口与总线的工作方式,包括串口、I2C、USB、以太网接口、ISA、PCI和cPCI等。

嵌入式系统硬件电路中经常会使用CPLD和FPGA,作为驱动工程师,我们不需要掌握CPLD和FPGA的开发方法,但是需要知道它们在电路中能完成什么工作,2.4节讲解了这项内容。

2.5~2.7节给出了在实际项目开发过程中硬件分析的方法,包括如何进行原理图分析、时序分析及如何快速地从芯片手册获取有效信息。

2.8节讲解了调试过程中常用仪器仪表的使用方法,涉及万用表、示波器和逻辑分析仪。