深入理解嵌入式Linux设备驱动程序
深入理解嵌入式Linux设备驱动程序封面图

深入理解嵌入式Linux设备驱动程序

曹国辉, 曾志鹏, 著

出版社:电子工业出版社

年代:2012

定价:49.0

书籍简介:

本书稿详细阐述了嵌入式Linux设备驱动程序基本理论及开发方法。详细讲解了嵌入式系统的硬件体系架构,linux系统的引导原理,启动过程,Linux设备驱动模型及基本理论,具体的硬件设备驱动程序的源码分析,在分析具体设备驱动程序源码的基础上,详细讲解了具体设备驱动程序的设计和移植方法。

书籍目录:

第1章 嵌入式ARM系统开发基础 1

1.1 嵌入式ARM系统开发概述 1

1.1.1 ARM系统可执行映像文件格式 1

1.1.2 ARM开发调试工具 2

1.1.3 加载地址和运行地址 3

1.2 嵌入式ARM系统的启动代码分析 4

1.2.1 ARM上电启动概述 4

1.2.2 ARM上电初始化启动代码分析 5

1.3 嵌入式ARM系统的中断系统 10

1.3.1 ARM中断机制代码分析 10

1.3.2 ARM中断服务处理程序的响应过程 13

1.4 按键中断实验 15

第2章 嵌入式Linux设备驱动程序开发环境的构建 16

2.1 安装虚拟机软件VMware 6.0.2 16

2.2 新建虚拟机 17

2.3 安装Linux操作系统ubuntu 19

2.4 安装VMware tools工具软件 23

2.5 网络配置 26

2.6 设置软件源服务器 27

2.7 安装libncurses5-dev软件包 28

2.8 安装交叉编译器arm-linux-gcc 28

第3章 嵌入式Linux内核的裁剪与编译 31

3.1 嵌入式Linux内核的本质 31

3.2 嵌入式Linux内核源码的组织 32

3.3 嵌入式Linux内核的移植与裁剪 34

3.4 嵌入式Linux内核配置、编译的基本原理 39

3.5 构建嵌入式Linux根文件系统 40

第4章 嵌入式系统BootLoader代码分析与移植 46

4.1 嵌入式系统BootLoader功能概述 46

4.1.1 嵌入式Linux系统的软件组成及分布 46

4.1.2 嵌入式Linux中为什么要有BootLoader 47

4.1.3 BootLoader的功能和选择 47

4.2 u-boot源码分析 48

4.2.1 u-boot源码文件的组成及配置编译 48

4.2.2 u-boot的执行过程及Linux内核加载流程 50

4.2.3 start.s源码文件分析 50

4.2.4 board.c源码文件分析 51

4.3 u-boot中的环境变量 52

4.4 Linux系统的加载过程 53

4.4.1 u-boot命令执行过程 54

4.4.2 bootm的执行流程 55

4.5 u-boot向Linux传递参数的过程 57

4.6 u-boot的移植 58

第5章 嵌入式Linux内核模块与字符设备驱动 61

5.1 嵌入式Linux内核模块 61

5.1.1 嵌入式Linux内核模块的概念 61

5.1.2 嵌入式Linux内核模块编程 61

5.1.3 嵌入式Linux内核模块的编译 62

5.1.4 嵌入式Linux内核模块的安装与卸载 63

5.1.5 直接编译嵌入式Linux内核模块到内核 63

5.2 嵌入式Linux字符设备驱动 63

5.2.1 嵌入式Linux设备驱动程序的概念 63

5.2.2 嵌入式Linux设备管理机制 64

5.2.3 嵌入式Linux字符设备驱动程序的主要数据结构分析 65

5.2.4 嵌入式Linux字符设备驱动的工作原理 66

5.2.5 嵌入式Linux字符设备驱动程序设计实例 68

第6章 嵌入式Linux系统的内存管理 72

6.1 虚拟地址和物理地址概述 72

6.2 虚拟地址到物理地址转换的基本原理 73

6.3 基于ARM S3C2440的GPIO端口地址映射实验 76

6.3.1 问题描述 76

6.3.2 分析与思路 76

6.4 Linux内核中内存分配和释放函数的用法 77

第7章 嵌入式Linux设备驱动开发的核心技术 78

7.1 嵌入式Linux中断处理和定时器 78

7.1.1 嵌入式Linux系统中断服务程序的编写 78

7.1.2 嵌入式Linux系统硬件定时器的使用 79

7.1.3 中断的下半部分 80

7.1.4 嵌入式Linux软件定时器的使用 80

7.2 嵌入式Linux设备驱动程序中的并发及并发控制 81

7.2.1 并发的概念 81

7.2.2 嵌入式Linux设备驱动程序中的并发控制方式 82

7.2.3 信号量与自旋锁的使用场景 83

7.3 嵌入式Linux设备驱动中的阻塞与非阻塞 84

7.3.1 概述 84

7.3.2 Linux设备驱动程序中阻塞的工作原理 84

7.3.3 进程阻塞访问设备的基本原理 85

7.3.4 Linux设备驱动程序中的阻塞编程 86

7.4 嵌入式Linux设备驱动中的异步通知编程 87

7.4.1 概述 87

7.4.2 Linux异步通知工作原理 88

7.4.3 Linux异步通知应用的编程方法 90

7.4.4 Linux异步通知驱动的编程方法 91

7.5 嵌入式Linux设备驱动中的轮询操作 92

7.5.1 概述 92

7.5.2 Linux设备驱动轮询操作的工作原理及源码分析 92

7.5.3 Linux轮询操作的应用层编程 97

7.5.4 Linux轮询操作的驱动层编程 97

第8章 嵌入式Linux平台设备驱动程序开发 99

8.1 Linux设备和设备驱动模型 99

8.1.1 Linux内核中的BUS(总线) 99

8.1.2 Linux内核中的设备 100

8.1.3 Linux内核中的设备驱动 101

8.2 Linux平台设备驱动程序开发过程 103

8.3 嵌入式Linux系统中利用mdev自动创建设备文件节点 105

第9章 嵌入式Linux LCD屏驱动程序设计 107

9.1 LCD屏的工作原理概述 107

9.2 LCD屏硬件原理及驱动程序设计 108

9.2.1 TFT LCD屏的显示原理 109

9.2.2 S3C2440 LCD控制器TFT LCD的控制时序分析 110

9.2.3 S3C2440 LCD控制器显示的数据格式 111

9.2.4 S3C2440 LCD控制器的显示数据流程 112

9.2.5 VBPD、VFPD、VSPW和HBPD、HFPD、HSPW的设置 113

9.3 嵌入式Linux LCD屏驱动程序框架 114

9.4 嵌入式Linux LCD屏驱动源码分析 115

9.4.1 S3c2410fb.c源码分析 116

9.4.2 LCD屏Linux驱动主要数据结构 117

9.4.3 Probe函数处理流程及源码分析 121

9.4.4 Fbmem.c源码分析 124

9.5 嵌入式Linux LCD屏驱动的移植 125

第10章 嵌入式Linux触摸屏驱动程序设计 128

10.1 触摸屏工作原理概述 128

10.2 S3C2440触摸屏接口及硬件驱动程序设计 129

10.2.1 S3C2440触摸屏控制器接口 129

10.2.2 S3C2440裸机下触摸屏控制器的接口编程 131

10.3 嵌入式Linux触摸屏驱动程序框架 133

10.4 嵌入式Linux触摸屏驱动的源码分析 134

10.4.1 Linux触摸设备驱动的处理流程 134

10.4.2 触摸屏驱动模块的初始化函数s3c2410ts_init 135

10.4.3 笔针按下中断服务处理程序stylus_updown 137

10.5 嵌入式Linux输入子系统的工作原理及实现机制 140

10.5.1 Linux输入子系统的主要数据结构与全局变量 140

10.5.2 输入设备的注册流程 145

10.5.3 事件处理器的注册流程 146

10.5.4 输入事件的报告流程 149

10.5.5 应用程序访问输入设备的流程 152

第11章 嵌入式Linux MTD子系统与 FLASH驱动程序设计 154

11.1 MTD子系统概述 154

11.2 Linux中Nor FLASH驱动的源码分析 157

11.3 MTD子系统的源码分析 160

11.3.1 MTD子系统源码组织 160

11.3.2 MTD子系统主要数据的结构分析 161

11.4 Nor FLASH芯片手册解读 163

第12章 嵌入式Linux Nand FLASH 驱动程序设计 165

12.1 Nand FLASH芯片硬件及接口介绍 165

12.1.1 Nand FLASH存储空间的组织 165

12.1.2 Nand FLASH的硬件接口及读写操作时序 166

12.1.3 S3C2440对Nand FLASH芯片的访问 167

12.2 嵌入式Linux下Nand FLASH驱动分析 168

12.2.1 Nand FLASH驱动源码组织 168

12.2.2 Nand FLASH驱动架构 168

12.2.3 Nand FLASH相关操作流程 171

12.2.4 s3c24xx_nand_probe函数分析 172

12.3 应用程序对Nand FLASH设备的读/写操作 175

12.3.1 MTD字符设备写Nand FLASH的操作分析 175

12.3.2 s3c2440_nand_hwcontrol函数 178

12.3.3 nand_command函数 178

第13章 嵌入式Linux I2C总线驱动程序设计 182

13.1 I2C总线概述 182

13.2 S3C2440 I2C总线控制器的硬件工作原理 183

13.3 S3C2440 I2C控制器的硬件编程 185

13.3.1 初始化S3C2440 I2C主控制器 185

13.3.2 I2C总线写AT24C02操作

内容摘要:

本书详细阐述了嵌入式Linux设备驱动程序基本理论及开发方法。详细讲解了嵌入式系统的硬件体系架构,Linux系统的引导原理、启动过程,Linux设备驱动模型及基本理论,具体的硬件设备驱动程序的源码分析。在分析具体设备驱动程序源码的基础上,详细讲解了具体设备驱动程序的设计和移植方法。

书籍规格:

书籍详细信息
书名深入理解嵌入式Linux设备驱动程序站内查询相似图书
9787121177194
如需购买下载《深入理解嵌入式Linux设备驱动程序》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)49.0语种简体中文
尺寸26 × 18装帧平装
页数 268 印数

书籍信息归属:

深入理解嵌入式Linux设备驱动程序是电子工业出版社于2012.8出版的中图分类号为 TP316.89 的主题关于 Linux操作系统-程序设计 的书籍。