图书介绍
Linux系统移植2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 刘刚,赵剑川编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302239222
- 出版时间:2011
- 标注页数:527页
- 文件大小:151MB
- 文件页数:547页
- 主题词:Linux操作系统
PDF下载
下载说明
Linux系统移植PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 系统移植基础篇2
第1章 Linux内核介绍2
1.1 系统调用接口2
1.1.1 Linux系统调用2
1.1.2 用户编程接口2
1.1.3 系统调用与服务例程的对应关系3
1.1.4 系统调用过程3
1.1.5 系统调用传递的参数4
1.2 进程管理4
1.2.1 进程4
1.2.2 进程描述符5
1.2.3 进程状态6
1.2.4 进程调度6
1.2.5 进程地址空间8
1.3 内存管理10
1.3.1 内存管理技术10
1.3.2 内存区管理12
1.3.3 内核中获取内存的几种方式13
1.4 虚拟文件系统14
1.4.1 虚拟文件系统作用14
1.4.2 文件系统的注册15
1.4.3 文件系统的安装和卸载15
1.5 设备驱动程序17
1.5.1 字符设备驱动程序17
1.5.2 块设备驱动程序18
1.5.3 网络设备驱动程序21
1.5.4 内存与I/O操作22
1.6 小结23
第2章 嵌入式Linux开发环境搭建24
2.1 虚拟机及Linux安装24
2.1.1 虚拟机的安装24
2.1.2 单独分区安装系统30
2.1.3 虚拟机和主机通信设置31
2.1.4 VMware tools工具安装33
2.1.5 虚拟机与主机共享文件35
2.1.6 虚拟机与主机文件传输36
2.2 交叉编译工具38
2.2.1 交叉编译工具安装38
2.2.2 交叉编译器测试43
2.3 超级终端和Minicom44
2.3.1 超级终端软件的安装44
2.3.2 Minicom使用45
2.3.3 SecureCRT使用48
2.4 核、文件系统加载工具48
2.4.1 烧写Bootloader48
2.4.2 内核和文件系统下载52
2.4.3 应用程序和文件传输54
2.5 在开发中使用网络文件系统(NFS)56
2.5.1 虚拟机设置56
2.5.2 虚拟机的IP地址设置56
2.5.3 验证网络连接59
2.5.4 设置共享目录59
2.5.5 启动NFS服务60
2.5.6 修改共享配置后61
2.5.7 挂载NFS61
2.5.8 双网卡挂载NFS61
2.6 小结62
第2篇 系统移植技术篇64
第3章 Bootloader移植64
3.1 Bootloader介绍64
3.1.1 Bootloader与嵌入式Linux系统的关系64
3.1.2 Bootloader基本概念64
3.1.3 Bootloader启动过程66
3.2 Bootloader之U-Boot67
3.2.1 U-Boot优点67
3.2.2 U-Boot的主要功能68
3.2.3 U-Boot目录结构68
3.3 U-Boot移植过程69
3.3.1 环境配置69
3.3.2 修改cpu/arm920t/start.S70
3.3.4 具体平台相关修改79
3.3.5 其他部分修改81
3.3.6 U-Boot的编译84
3.4 Bootloader之vivi85
3.4.1 vivi简介85
3.4.2 vivi配置与编译85
3.4.3 代码分析88
3.5 vivi的运行88
3.5.1 Bootloader启动的阶段一89
3.5.2 Bootloader启动的阶段二95
3.6 小结95
第4章 Linux内核裁剪与移植96
4.1 Linux内核结构96
4.1.1 内核的主要组成部分96
4.1.2 内核源码目录介绍97
4.2 内核配置选项99
4.2.1 一般选项99
4.2.2 内核模块加载方式支持选项100
4.2.3 系统调用、类型、特性、启动相关选项101
4.2.4 网络协议支持相关选项102
4.2.5 设备驱动支持相关选项102
4.2.6 文件系统类型支持相关选项103
4.2.7 安全相关选项104
4.2.8 其他选项104
4.3 内核裁剪及编译105
4.3.1 安装内核源代码105
4.3.2 检查编译环境设置105
4.3.3 配置内核106
4.3.4 编译内核115
4.4 内核映像文件移植到ARM板116
4.4.1 移植准备116
4.4.2 烧写系统118
4.5 内核升级121
4.5.1 准备升级内核文件121
4.5.2 移植过程122
4.6 小结125
第5章 嵌入式文件系统制作126
5.1 文件系统选择126
5.1.1 Flash硬件方案比较126
5.1.2 嵌入式文件系统的分层结构127
5.2 基于Flash的文件系统127
5.2.1 JFFS文件系统(Journalling Flash FileSystem)128
5.2.2 YAFFS文件系统(Yet Another Flash File System)130
5.2.3 Cramfs文件系统(Compressed ROM File System)133
5.2.4 Romfs文件系统(ROM File System)134
5.3 基于RAM的文件系统135
5.4 文件系统的制作135
5.4.1 制作Ramdisk文件系统136
5.4.2 制作YAFFS2文件系统144
5.4.3 制作JFFS2文件系统150
5.4.4 其他文件系统制作152
5.5 小结153
第3篇 系统移植与驱动篇156
第6章 LCD驱动移植156
6.1 认识LCD相关硬件原理156
6.1.1 LCD概述156
6.1.2 LCD控制器157
6.1.3 LCD控制器方块图157
6.1.4 LCD控制器操作158
6.1.5 LCD控制寄存器163
6.2 LCD参数设置166
6.3 内核LCD驱动机制167
6.3.1 FrameBuffer概述167
6.3.2 FrameBuffer设备驱动的结构167
6.4 Linux 2.6.25的LCD驱动源码分析171
6.4.1 LCD驱动开发的主要工作171
6.4.2 s3c2410fb_init()函数分析172
6.4.3 s3c2410fb_probe()函数分析173
6.4.4 s3c2410fb_remove()函数分析178
6.5 移植内核中的LCD驱动179
6.5.1 LCD硬件电路图179
6.5.2 修改LCD源码179
6.5.3 配置内核184
6.6 小结187
第7章 触摸屏驱动移植188
7.1 触摸屏概述188
7.1.1 触摸屏工作原理188
7.1.2 触摸屏的主要类型188
7.2 S3C2440 ADC接口使用191
7.2.1 S3C2440触摸屏接口概述191
7.2.2 S3C2440触摸屏接口操作192
7.3 2.6内核触摸屏驱动源码分析(s3c2410_ts.c源码分析)196
7.4 Linux内核输入子系统介绍201
7.4.1 Input子系统概述202
7.4.2 输入设备结构体202
7.4.3 输入链路的创建过程205
7.4.4 使用Input子系统206
7.4.5 编写输入设备驱动需要完成的工作208
7.5 触摸屏驱动移植和内核编译209
7.5.1 修改初始化源码209
7.5.2 修改硬件驱动源码s3c2440_ts.c211
7.5.3 修改Kconfig和Makefile213
7.5.4 配置编译内核214
7.5.5 触摸屏测试程序设计215
7.6 小结216
第8章 USB设备驱动移植217
8.1 USB协议217
8.1.1 USB协议的系统主要组成部分217
8.1.2 总线物理拓扑结构219
8.1.3 USB设备、配置、接口、端点219
8.1.4 USB设备状态222
8.1.5 USB枚举过程223
8.1.6 USB请求块(URB)226
8.2 USB主机驱动230
8.2.1 USB主机驱动结构和功能230
8.2.2 主机控制器驱动(usb_hcd)231
8.2.3 OHCI主机控制器驱动233
8.2.4 S3C24XX OHCI主机控制器驱动实例234
8.3 USB设备驱动237
8.3.1 USB骨架程序分析237
8.3.2 USB驱动移植的时钟设置241
8.4 USB鼠标键盘驱动242
8.4.1 USB鼠标驱动代码分析242
8.4.2 USB键盘驱动代码分析245
8.4.3 内核中添加USB鼠标键盘驱动248
8.5 U盘驱动249
8.5.1 内核配置249
8.5.2 移植和测试250
8.6 小结252
第9章 网卡驱动程序移植253
9.1 以太网概述253
9.1.1 以太网连接253
9.1.2 以太网技术概述254
9.1.3 以太网的帧结构256
9.2 网络设备驱动程序体系结构258
9.2.1 嵌入式Linux网络驱动程序介绍258
9.2.2 Linux网络设备驱动的体系结构259
9.2.3 网络设备驱动程序编写方法259
9.2.4 网络设备驱动程序应用实例261
9.3 net_device数据结构262
9.3.1 全局信息262
9.3.2 硬件信息263
9.3.3 接口信息263
9.3.4 设备方法266
9.3.5 公用成员268
9.4 DM9000网卡概述268
9.4.1 DM9000网卡总体介绍269
9.4.2 DM9000网卡的特点269
9.4.3 内部寄存器270
9.4.4 功能描述274
9.5 DM9000网卡驱动程序移植275
9.5.1 DM9000网卡连接275
9.5.2 驱动分析——硬件的数据结构276
9.5.3 驱动分析——数据读写函数277
9.5.4 驱动分析——重置网卡277
9.5.5 驱动分析——初始化网卡277
9.5.6 驱动分析——打开和关闭网卡282
9.5.7 驱动分析——数据包的发送与接收283
9.5.8 DM9000网卡驱动程序移植285
9.6 小结288
第10章 音频设备驱动程序移植289
10.1 音频设备接口289
10.1.1 PCM(脉冲编码调制)接口289
10.1.2 IIS(Inter-IC Sound)接口289
10.1.3 AC97(Audio Codec 1997)接口289
10.1.4 Linux音频设备驱动框架290
10.2 Linux音频设备驱动——OSS驱动框架291
10.2.1 OSS驱动架构硬件291
10.2.2 OSS驱动架构代码291
10.2.3 OSS初始化函数oss_init()293
10.2.4 OSS释放函数oss_cleanup()294
10.2.5 打开设备文件函数sound_open()295
10.2.6 录音函数sound_read()296
10.2.7 播放函数sound_write()297
10.2.8 控制函数sound_ioctl()297
10.3 Linux音频设备驱动——ALSA驱动框架298
10.3.1 card和组件299
10.3.2 PCM设备303
10.3.3 控制接口306
10.3.4 AC97 API音频接口308
10.4 音频设备应用程序编写312
10.4.1 DSP接口编程312
10.4.2 MIXER接口编程315
10.4.3 ALSA应用程序编程316
10.5 音频设备驱动移植318
10.5.1 添加UDA1341结构体318
10.5.2 修改录音通道319
10.5.3 内核中添加UDA1341驱动支持320
10.5.4 移植新内核并进行测试321
10.6 音频播放程序madplay的移植322
10.6.1 准备移植需要的源文件322
10.6.2 交叉编译322
10.6.3 移植和测试323
10.6.4 编译中可能遇到的问题324
10.7 小结324
第11章 SD卡驱动移植325
11.1 SD卡简介325
11.1.1 SD卡系统概念325
11.1.2 SD卡寄存器325
11.1.3 SD功能描述326
11.2 SD卡驱动程序分析329
11.2.1 host驱动部分330
11.2.2 core驱动部分333
11.2.3 card驱动部分337
11.3 SD卡移植步骤339
11.3.1 添加延时和中断339
11.3.2 配置内核340
11.3.3 烧写新内核341
11.4 小结342
第12章 NandFlash驱动移植343
12.1 NandFlash介绍343
12.1.1 NandFlash命令介绍343
12.1.2 NandFlash控制器344
12.2 NandFlash驱动介绍345
12.2.1 Nand芯片结构345
12.2.2 NandFlash驱动分析346
12.3 NandFlash驱动移植351
12.3.1 内核的修改351
12.3.2 内核的配置和编译353
12.4 小结353
第4篇 系统移植高级篇356
第13章 MiniGUI与移植356
13.1 MiniGUI在上位机中的安装356
13.1.1 安装需要的安装文件356
13.1.2 MiniGUI的运行模式357
13.1.3 编译并安装MiniGUI357
13.1.4 编译安装MiniGUI需要的图片支持库360
13.1.5 编译MiniGUI应用程序例子360
13.2 Eclipse开发MiniGUI程序361
13.2.1 Linux下安装Eclipse介绍361
13.2.2 使用Eclipse编译MiniGUI程序363
13.2.3 设置外部工具367
13.2.4 运行程序368
13.3 VC++6.0开发MiniGUI程序368
13.3.1 安装Windows开发库368
13.3.2 建立新工程369
13.3.3 添加文件和设置工程370
13.3.4 编译和运行程序371
13.3.5 MiniGUI程序编程风格举例372
13.4 MiniGUI的交叉编译和移植374
13.4.1 交叉编译MiniGUI375
13.4.2 移植MiniGUI程序376
13.5 小结378
第14章 Qt开发与Qtopia移植379
14.1 Qt安装与编程379
14.1.1 下载安装Qt379
14.1.2 Qt编程380
14.1.3 使用qmake生成Makefile382
14.2 Qtopia Core在X86平台上的安装和应用383
14.2.1 Qtopia Core安装准备383
14.2.2 编译Qtopia Core384
14.2.3 Qtopia在X86平台上的应用开发385
14.3 Qtopia Core在嵌入式Linux上的移植388
14.3.1 Qtopia Core移植准备389
14.3.2 交叉编译Qtopia Core389
14.3.3 编译内核392
14.3.4 应用程序开发392
14.3.5 应用程序移植395
14.4 小结395
第15章 嵌入式数据库Berkeley DB移植396
15.1 数据库的基本概念396
15.1.1 利用文档和源代码396
15.1.2 创建环境句柄396
15.1.3 创建数据库句柄397
15.1.4 打开数据库398
15.1.5 DBT结构398
15.1.6 存取数据399
15.1.7 关闭数据库400
15.2 Berkeley DB数据库安装400
15.2.1 安装成C库400
15.2.2 安装成C++库401
15.2.3 交叉编译安装Berkeley DB401
15.3 使用Berkeley DB数据库403
15.3.1 代码分析403
15.3.2 编译运行程序406
15.4 移植Berkeley DB数据库407
15.4.1 数据库设计407
15.4.2 编写应用程序407
15.4.3 调试和交叉编译应用程序409
15.4.4 数据库的移植和测试410
15.5 小结410
第16章 嵌入式数据库SQLite移植411
16.1 SQLite支持的SQL语句411
16.1.1 数据定义语句411
16.1.2 数据操作语句412
16.2 SQLite数据库编译、安装和使用412
16.2.1 安装SQLite413
16.2.2 利用SQL语句操作SQLite数据库413
16.2.3 利用C接口访问SQLite数据库414
16.3 移植SQLite417
16.3.1 交叉编译SQLite417
16.3.2 交叉编译应用程序418
16.4 移植SQLite数据库418
16.4.1 文件移植419
16.4.2 运行应用程序419
16.4.3 测试sqlite3419
16.5 小结421
第17章 嵌入式Web服务器BOA移植422
17.1 BOA介绍422
17.1.1 BOA的功能422
17.1.2 BOA流程分析423
17.1.3 BOA配置信息426
17.2 BOA编译和HTML页面测试428
17.2.1 编译BOA源代码428
17.2.2 设置BOA配置信息429
17.2.3 测试BOA429
17.3 CGI脚本测试431
17.3.1 编写测试代码431
17.3.2 编译测试程序431
17.3.3 测试CGI脚本431
17.4 BOA交叉编译与移植431
17.4.1 交叉编译BOA432
17.4.2 准备测试程序432
17.4.3 配置BOA432
17.4.4 测试433
17.5 BOA与SQLite结合433
17.5.1 通过CGI程序访问SQLite434
17.5.2 编译和测试436
17.6 小结437
第18章 嵌入式Web服务器Thttpd移植438
18.1 Thttpd介绍438
18.1.1 Web服务器比较438
18.1.2 Thttpd的特点438
18.1.3 Thttpd核心代码分析439
18.2 Thttpd编译和HTML页面测试442
18.2.1 配置文件介绍442
18.2.2 Thttpd编译443
18.2.3 运行和测试Thttpd443
18.3 CGI脚本测试446
18.3.1 编写测试代码446
18.3.2 编译测试程序447
18.3.3 测试CGI脚本447
18.4 Thttpd交叉编译与移植447
18.4.1 交叉编译Thttpd447
18.4.2 交叉编译CGI程序448
18.4.3 移植Thttpd448
18.4.4 测试449
18.5 Thttpd与嵌入式数据库结合450
18.5.1 通过CGI程序访问SQLite450
18.5.2 编译和测试452
18.6 小结453
第19章 JVM及其移植454
19.1 JVM介绍454
19.1.1 JVM原理454
19.1.2 JVM支持的数据类型455
19.1.3 JVM指令系统456
19.1.4 JVM寄存器456
19.1.5 JVM栈结构456
19.1.6 JVM碎片回收堆459
19.1.7 JVM异常抛出和异常捕获459
19.2 类装载460
19.2.1 装载类的结构体460
19.2.2 装载类的操作461
19.3 垃圾回收463
19.3.1 mark-and-sweep回收算法464
19.3.2 分代回收算法465
19.3.3 增量收集466
19.4 解析器466
19.4.1 函数Interpret()466
19.4.2 函数FastInterpret()467
19.4.3 函数SlowInterpret()469
19.5 Java编程浅析470
19.5.1 Java程序命令470
19.5.2 Java构造函数470
19.5.3 Java主函数470
19.5.4 Java程序编译与运行471
19.6 KVM执行过程471
19.6.1 KVM启动过程471
19.6.2 KVM用到的计数器清零474
19.6.3 KVM初始化内存管理475
19.6.4 KVM中的哈希表初始化476
19.6.5 KVM中的事件初始化477
19.6.6 KVM中的资源释放477
19.7 PC机安装JVM477
19.7.1 JVM在Windows上的安装478
19.7.2 JVM在Linux上的安装479
19.8 KVM移植和测试480
19.8.1 SDK安装和环境变量设置480
19.8.2 修改Makefile和代码480
19.8.3 KVM编译481
19.8.4 测试481
19.8.5 移植483
19.9 小结485
第20章 VoIP技术与Linphone编译486
20.1 VoIP介绍486
20.1.1 VoIP基本原理486
20.1.2 VoIP的基本传输过程487
20.1.3 VoIP的优势487
20.1.4 VoIP的实现方式487
20.1.5 VoIP的关键技术488
20.2 oSIP协议概述488
20.3 oSIP状态机489
20.3.1 ICT(Invite Client(outgoing)Transaction)状态机489
20.3.2 NICT(Non-Invite Client(outgoing)Transaction)状态机498
20.3.3 IST(Invite Server(incoming)Transaction)状态机499
20.3.4 NIST(Non-Invite Server(incoming)Transaction)状态机500
20.4 oSIP解析器500
20.4.1 初始化解析类型函数osip_body_init()500
20.4.2 释放函数osip_body_free()501
20.4.3 字符串到body类型转换函数osip_body_parse()501
20.4.4 body类型到字符串类型转换函数osip_body_to_str()502
20.4.5 克隆函数osip_body_clone()504
20.4.6 oSIP解析器分类505
20.5 oSIP事务层506
20.6 SIP建立会话的过程508
20.7 RTP协议510
20.7.1 RTP基本概念510
20.7.2 发送RTP511
20.7.3 接收RTP513
20.8 Linphone编译与测试515
20.8.1 编译Linphone需要的软件包516
20.8.2 X86平台上编译和安装516
20.8.3 Linphone测试519
20.8.4 进一步的测试和开发523
20.9 Linphone交叉编译523
20.9.1 Linphone的交叉编译523
20.9.2 Linphone的测试526
20.10 小结527
热门推荐
- 1306016.html
- 359402.html
- 2090818.html
- 1067187.html
- 1648469.html
- 1501778.html
- 687687.html
- 977670.html
- 2732094.html
- 77384.html
- http://www.ickdjs.cc/book_3166407.html
- http://www.ickdjs.cc/book_491411.html
- http://www.ickdjs.cc/book_1489160.html
- http://www.ickdjs.cc/book_3116756.html
- http://www.ickdjs.cc/book_2708293.html
- http://www.ickdjs.cc/book_1634186.html
- http://www.ickdjs.cc/book_1547571.html
- http://www.ickdjs.cc/book_2984311.html
- http://www.ickdjs.cc/book_2355160.html
- http://www.ickdjs.cc/book_1363981.html