图书介绍

深入理解嵌入式Linux设备驱动程序PDF|Epub|txt|kindle电子书版本网盘下载

深入理解嵌入式Linux设备驱动程序
  • 曹国辉,曾志鹏编 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121177194
  • 出版时间:2012
  • 标注页数:258页
  • 文件大小:192MB
  • 文件页数:269页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

深入理解嵌入式Linux设备驱动程序PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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.216

2.2新建虚拟机17

2.3安装Linux操作系统ubuntu19

2.4安装VMware tools工具软件23

2.5网络配置26

2.6设置软件源服务器27

2.7安装libncurses5-dev软件包28

2.8安装交叉编译器arm-linux-gcc28

第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中为什么要有BootLoader47

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 init135

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

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 12C总线驱动程序设计182

13.1 I2C总线概述182

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

13.3 S3C2440I2C控制器的硬件编程185

13.3.1初始化S3C244012C主控制器185

13.3.2 I2C总线写AT24C02操作185

13.3.3 I2C总线读AT24C02操作187

13.4嵌入式Linux I2C总线驱动架构188

13.4.1 I2C体系架构的硬件实体189

13.4.2 I2C驱动的软件实体189

13.5嵌入式Linux I2C总线驱动源码的组织190

13.6嵌入式Linux I2C总线控制器驱动的程序设计及源码分析190

13.6.1 I2C总线控制器驱动的主要数据结构191

13.6.2写AT24C02一个字节操作192

13.6.3 I2C总线驱动框架192

13.6.4 I2C总线控制器设备驱动探测函数probe的工作流程194

13.6.5 i2c_add_adapter处理流程分析196

13.6.6定义和实现I2C适配器的底层操作接口Algorithm197

13.7嵌入式Linux I2C设备驱动程序的设计及源码分析198

13.7.1 I2C设备驱动程序框架200

13.7.2 i2c add driver函数203

13.7.3 at24c02b_probe函数203

13.8应用程序通过I 2C设备驱动写AT24C02一个字节的流程204

第14章 嵌入式Linux网卡驱动程序设计207

14.1概述207

14.2 DM9000网络芯片与S3C2440的硬件原理图207

14.3 DM9000A网卡芯片内部寄存器的访问208

14.4 DM9000数据发送/接收的流程209

14.5嵌入式Linux DM9000网卡驱动的框架及源码分析210

14.5.1 DM9000设备211

14.5.2 DM9000设备驱动211

14.5.3 DM9000平台设备驱动的工作流程212

14.5.4应用层网络应用程序的操作215

第15章 嵌入式Linux USB设备驱动程序设计230

15.1 USB通信系统概述230

15.2 USB通信系统的拓扑结构图230

15.3 USB通信的分时复用技术231

15.4 USB通信系统的基本概念231

15.5 USB通信的数据格式232

15.5.1域233

15.5.2包233

15.5.3事务234

15.5.4传输236

15.5.5 USB标识域(PID)236

15.6 USB设备的枚举过程237

15.7 USB设备端USB通信固件的程序设计239

15.7.1 USB芯片CY7C68013概述239

15.7.2 EZ-USB固件程序的启动模式242

15.7.3 EZ-USB芯片的中断系统242

15.7.4 USB固件程序的功能244

15.7.5 USB固件程序的框架及源码分析244

15.8嵌入式Linux USB驱动程序框架246

15.9嵌入式Linux USB主控制器驱动的源码分析247

15.9.1 S3C2440 USB主控制器平台设备驱动的源码分析248

15.9.2 USB主机驱动枚举USB设备的过程250

15.10嵌入式Linux USB设备驱动的程序设计方法255

热门推荐