图书介绍
Linux设备驱动开发入门与编程实践2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 商斌编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121075650
- 出版时间:2009
- 标注页数:588页
- 文件大小:145MB
- 文件页数:602页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
Linux设备驱动开发入门与编程实践PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 嵌入式Linux系统开发概述1
1.1嵌入式系统概述1
你身边的嵌入式系统1
什么是嵌入式系统4
嵌入式系统的发展7
嵌入式系统市场规模8
嵌入式系统发展趋势和面临的挑战9
1.2嵌入式操作系统10
嵌入式操作系统的特点10
嵌入式操作系统发展概述11
Linux操作系统特点12
嵌入式Linux系统的特点13
国外嵌入式Linux发展现状16
国内嵌入式Linux发展现状18
1.3 ARM处理器平台介绍20
嵌入式处理器特点与分类20
ARM处理器介绍22
ARM体系结构24
1.4嵌入式Linux的体系结构分析27
嵌入式系统的体系结构27
硬件抽象层的Linux29
1.5基本编辑器vi的使用31
进入和退出vi31
vi的基本编辑命令32
vi的高级编辑命令35
1.6高级编辑器Emacs的使用37
Emacs的启动与退出38
Emacs的基本操作39
Emacs的高级命令41
1.7编译器GCC的使用44
GCC简介44
GCC的编译过程45
GCC的常用模式46
GCC的常用选项47
GCC的警告功能48
1.8调试器GDB的使用50
GDB的调试过程50
GDB的基本命令52
GDB的高级命令55
1.9 Make工程管理器59
Make管理器简介59
Makefile的描述规则60
一个简单示例61
Make如何工作63
指定变量64
自动推导规则65
另类风格的Makefile66
清除工作目录过程文件67
1.10本章小结68
第2章 嵌入式Linux内核分析与移植69
2.1 Linux内核版本69
日新月异的Linux内核版本69
Linux 2.4内核特性71
Linux 2.6内核针对嵌入式系统的改进72
2.2 Linux操作系统内核结构分析73
Linux核心源程序的文件组织结构73
Linux的内核组成75
Linux内核进程管理工作机制78
Linux内存管理工作机制81
Linux虚拟文件系统工作机制82
进程间通信83
2.3搭建嵌入式Linux系统开发环境84
嵌入式平台介绍85
嵌入式Linux系统的组成及设计步骤86
嵌入式Linux开发工具链87
2.4 Linux内核配置基础89
Linux内核所支持的配置方式90
make menuconfig配置方法91
Linux 2.4内核配置文件config.in介绍92
Linux2.6内核Kconfig文件的用法93
Kconfig文件配置实例95
2.5 Linux内核配置选项96
General setup96
Loadable modulesupport99
Processor type andfeatures100
Networking support102
Device Drivers102
2.6 Linux内核编译基础121
Linux内核编译基本步骤121
Rules.make文件用法121
Makefile配置文件的用法122
配置、编译Linux内核命令说明124
Linux内核配置编译实例125
2.7 Linux内核移植128
Bootloader简介129
引导程序原理130
内核移植及代码分析133
VIVI结构分析137
VIVI移植实现140
2.8本章小结142
第3章 Linux设备驱动程序开发概述143
3.1 Linux系统设备概述143
字符设备143
块设备144
网络设备144
Linux设备驱动程序的共性144
3.2设备驱动程序的概念145
3.3设备驱动程序与内核的接口146
3.4内核为驱动程序提供的支持147
内存分配函数147
DMA148
I/O端口148
打印函数148
3.5主要数据结构149
struct device_struct149
struct file_operations149
struct inode150
3.6模块化的概念152
3.7内存管理问题153
Linux内核对内存的管理方法153
kmalloc()和kfree()153
面向页的分配技术154
vmalloc()和相关函数154
3.8中断响应和处理155
中断处理机制155
中断处理的数据结构156
中断处理中的3个重要概念158
申请和释放中断159
自动检测中断号160
快/慢速中断处理160
实现中断处理程序160
驱动程序下半部的设计163
安装共享的处理程序164
3.9 I/O端口164
3.10 DMA处理165
3.11时间流166
时钟的申请与释放167
实现延迟167
任务队列168
3.12编写、编译和调试169
3.13本章小结172
第4章 Linux字符设备驱动程序开发173
4.1 Linux字符设备驱动程序结构173
4.2字符设备驱动的相似点173
4.3主设备号和次设备号174
4.4字符设备驱动程序的组成175
4.5字符驱动程序模型175
4.6可靠性机制176
4.7文件操作176
4.8字符设备驱动程序中用到的主要数据结构177
4.9字符设备的注册和注销181
4.10使用内存和读写I/O端口182
4.11字符设备驱动程序中用到的主要函数183
4.12 chardevxxx设备的驱动程序设计186
4.13 Linux 2.6内核下的字符设备驱动介绍188
cdev结构体188
分配和释放设备号190
file_operations结构体190
字符设备驱动模块加载与卸载函数193
字符设备驱动的file_operations结构体中成员194
4.14 globalmem设备驱动196
头文件、宏及设备结构体196
加载与卸载设备驱动197
读写函数198
seek函数200
globalmem的ioctl()函数201
ioctl()命令202
预定义命令203
使用文件私有数据203
globalmem驱动在用户空间的验证211
4.15 本章小结212
第5章 基于DSP的PCI图像采集卡驱动程序213
5.1 PCI总线介绍213
PCI总线概述213
PCI局部总线概述214
PCI局部总线的特点215
PCI总线信号216
PCI总线命令218
PCI总线配置空间218
PCI总线配置过程221
PCI总线的传输控制222
5.2 DSP图像卡的PCI接口设计223
系统结构介绍223
PCI2040的基本特点224
PCI2040芯片的功能单元224
PCI2040配置流程225
PCI总线与DSP的接口实现226
串行E2PROM的初始化227
5.3 DSP图像卡驱动程序实例分析228
主要的数据结构228
驱动程序流程229
初始化设备模块230
打开设备模块232
数据读写和控制信息模块233
中断处理模块233
释放设备模块234
卸载设备模块234
5.4本章小结235
第6章 音频接口设计与Linux驱动程序237
6.1嵌入式音频系统简介237
S3C2410微处理器简介237
S3C2410微处理器的结构框图及其特性238
系统设计概述239
系统时钟电路242
S3C2410存储控制器介绍242
SDRAM电路243
Flash缓冲电路设计245
NOR Flash电路246
NAND Flash接口电路247
IIS数字音频电路247
串口电路249
JTAG接口电路249
LCD和触摸屏接口电路250
6.2 UDA 1341 TS芯片设备驱动程序设计251
UDA 1341 TS芯片介绍251
驱动程序中file_operations数据结构252
驱动程序的加载和卸载253
6.3 SOUND驱动的实现255
SOUND设备的打开和释放255
定义SOUND设备的读写函数258
SOUND设备的控制操作处理262
SOUND设备驱动程序的其他部分267
Mixer驱动的实现268
6.4本章小结270
第7章 显示设备接口设计与Linux驱动程序271
7.1嵌入式显示系统简介271
7.2显示驱动的基础与原理272
时序信号272
TFT LCD的驱动技术272
TFT LCD驱动电路273
像素值的属性274
像素深度、像素值与颜色的映射关系274
像素值与显示内存的映射关系276
调色板的原理276
调色板的作用277
彩色LCD显示驱动的原理277
7.3软、硬件平台简介280
硬件开发平台280
软件平台281
软件开发环境281
7.4基于PXA 255的显示功能的硬件实现281
PXA 255处理器介绍282
PXA 255的LCD控制器的特点282
LCD控制器的使用284
LCD控制寄存器配置285
设定DMA通道288
Sony彩屏的特性289
LCD与处理器的硬件连接方案291
7.5显示驱动开发介绍292
显示驱动与字符设备的关系292
显示驱动的发展292
当前显示驱动的不足294
7.6基于PXA 255的显示驱动的实现294
显示驱动的系统分析295
驱动上层文件的功能295
驱动底层文件的功能296
驱动程序底层文件实现的基础298
7.7基于PXA 255的显示功能的软件方案302
上层文件的实现303
底层文件的实现方案304
驱动底层文件的实现304
针对XScale架构中其余处理器的移植311
7.8本章小结312
第8章 ARM Linux块设备驱动程序开发313
8.1块设备驱动程序开发概述313
块设备特点313
块设备基于缓冲区的数据交换314
块设备读写请求315
块设备驱动程序模型318
基于内存的块设备驱动程序318
8.2 Linux块设备驱动结构319
block_device_operations结构体319
gendisk结构体321
request与bio结构体322
8.3块设备驱动主要函数331
块设备驱动程序的注册与注销331
Linux块设备驱动模块加载与卸载332
块设备的打开与释放334
块设备驱动的ioctl函数335
块设备驱动I/O请求处理336
8.4 RAMDISK驱动开发实例340
RAMDISK的硬件原理340
RAMDISK驱动模块加载与卸载341
RAMDISK设备驱动block_device_operations及成员函数343
8.5 IDE硬盘设备驱动开发实例345
IDE硬盘设备原理345
IDE硬盘设备驱动block_device_operations及成员函数348
IDE硬盘设备驱动I/O请求处理359
在内核中增加对新系统IDE设备的支持368
8.6本章小结371
第9章 嵌入式Linux网络设备驱动程序开发373
9.1嵌入式以太网基础知识373
以太网技术及其嵌入式应用373
嵌入式系统中主要处理的网络协议375
ARP(Address ResolutionProtocol)地址解析协议376
IP(Internet Protocol)网际协议376
TCP(Transfer ControlProtocol)传输控制协议377
UDP(User DatagramProtocol)用户数据包协议378
9.2基于CS8900A芯片的设备驱动设计378
CS8900A芯片结构379
CS8900A芯片特性380
CS8900A芯片工作原理380
CS8900A芯片工作模式380
网络设备驱动程序基本结构383
9.3基于Linux的网络设备驱动开发常用的数据结构385
数据结构struct net_device385
数据结构struct sk_buff393
9.4网络驱动程序的实现模式及系统调用方法397
网络驱动程序的实现模式与模块化397
内存获取与释放399
链路状态改变系统调用400
与网络层交互数据包的函数400
9.5网络驱动程序的基本方法401
网络驱动程序的结构401
初始化(Initialize)401
打开(open)417
关闭(close)425
发送(hard_start_xmit)426
接收(reception)429
中断处理(interrupt)434
硬件帧头(hard_header)438
地址解析(XARP)439
参数设置和统计数据439
多播(set_multicast_list)443
9.6本章小结446
第10章 嵌入式Linux USB驱动程序设计基础449
10.1 USB总线协议背景知识449
USB协议的产生449
USB的特点450
USB的广泛应用451
USB在嵌入式设备中的应用453
计算机常用外部总线比较454
10.2 USB总线技术介绍455
USB系统拓扑结构456
USB总线逻辑结构457
USB总线特性介绍458
USB总线电气机械特性459
USB的即插即用特性460
鲁棒性的实现464
USB电源管理466
总线通道467
传输协议468
传输类型473
设备框架479
USB主机协议482
10.3 Linux USB子系统结构484
文件系统485
Linux中USB子系统的软件结构及实现489
Linux USB内核的主要数据结构490
USB内核函数接口分析497
10.4本章小结516
第11章 USB接口系统软件设计517
11.1 USB系统软件设计概述517
主机端设备驱动程序517
主机控制器驱动程序517
设备端驱动程序518
数据管道和数据块结构518
11.2 USB设备端软件的开发519
USB设备通用模块的软件开发519
USB设备协议模块的软件开发520
控制端点处理程序521
协议层程序524
11.3 USB主机端软件开发525
Linux内核对USB规范的支持525
USB时序527
主机控制器驱动程序设计527
主机控制器的初始化和管理539
传输执行和资源调度541
主机控制器的中断处理545
虚拟根集线器546
主机控制器驱动程序的任务551
URB在驱动软件中运作551
主机端设备驱动程序552
11.4本章小结556
第12章 OTG驱动功能模块的设计与实现557
12.1 OTG概述557
OTG特性简介557
A设备事件558
B设备事件559
状态机560
SRP562
HNP563
12.2设备模块的设计与实现563
USB设备的状态563
OTG驱动功能模块的设计565
ISP1761结构565
HAL的设计和实现567
HCD的设计和实现569
USBD接口模块570
ISP1761读写操作模块578
HCD初始化模块579
中断管理模块580
根集线器模块580
数据传输模块580
设备模块的设计和实现581
OTG FSM的设计和实现583
12.3本章小结588
热门推荐
- 1468740.html
- 578897.html
- 46360.html
- 1065168.html
- 2042317.html
- 203874.html
- 2493729.html
- 2843006.html
- 282153.html
- 2224697.html
- http://www.ickdjs.cc/book_2943945.html
- http://www.ickdjs.cc/book_2590407.html
- http://www.ickdjs.cc/book_189290.html
- http://www.ickdjs.cc/book_1110088.html
- http://www.ickdjs.cc/book_3174552.html
- http://www.ickdjs.cc/book_711238.html
- http://www.ickdjs.cc/book_1088121.html
- http://www.ickdjs.cc/book_886753.html
- http://www.ickdjs.cc/book_1474974.html
- http://www.ickdjs.cc/book_516613.html